❶ 如果網頁內容是由javascript生成的,應該怎麼實現爬蟲
對於提到的兩種方法,抓包分析獲取請求的參數和驅動瀏覽器內核執行 js 代碼,兩種方法各有優點,選擇適合你的方式就好。
抓包分析,這個方法的優點是抓取的速度快,取得數據結構比較好,處理起來簡單,很多是 json 格式的數據,但是抓包分析需要大量的時間,這里的時間是指需要模擬需要獲取數據的之前的一個或者幾個請求,涉及到 headers 里的很多參數,有時候還設計到數據加密,這個過程你可能需要讀 js 源碼,才能解決問題。所以這個方式適合那些請求參數較少,數據結構比較好的網站。
2. 驅動瀏覽器內核,這個方法的優點是編程實現比較簡單,只要學會了驅動瀏覽器的 api 就可以在很少的改動下用於很多不同網站的抓取。但是缺點也很明顯,慢,佔用的資源比較多,不如抓包分析獲取數據靈活。
我以前抓取的好多網站都是用抓包分析的方式,還分析了好多網站的登錄的機制,用 Python 重寫 js 的請求,做模擬登錄,對於抓包分析有些偏執,但是我現在的觀點是:用最少的時間成本來解決問題,這里的時間成本是指編程時間和抓取的時間之和。當然你如果是學習的話,我建議兩種方式都學。
❷ 在做一個JS模擬登錄的程序,但是該網站登錄不需要驗證碼不過post地址里有驗證碼怎麼辦
_=1442571101382
這個估計是時間戳,jquery ajax訪問都會生成一個這個。
其實就是一個變數,保證每次值不同就可以了