用 Scrapy 爬蟲怎麼解決動態網頁的問題?

現在很多都是 Ajax 渲染要怎麼抓下來比較好?
想過用 selenium 的 htmlunit,模仿瀏覽器操作來載入,但是老是報網頁上有錯誤,但是網頁是別人的我也修改不了。
還有沒有什麼其他好的工具?


動態網頁一般兩種思路 ,一是找到api介面偽裝請求直接請求數據,另一種是沒有辦法模擬的時候需要渲染環境,具體怎麼做和代碼,請參考博客(scrapy下的js 渲染環境,官方已經給出解決方案)。

(9)分散式下的爬蟲Scrapy-關於ajax請求的分析應該如何做
(10)分散式下的爬蟲Scrapy-關於js渲染請求應該如何做
(11)分散式下的爬蟲Scrapy-關於js渲染的技巧應該如何做


能不處理就不處理,也許手機端頁面內容是直接輸出的呢?


htmlunit 不行就直接上 Firefox / Chrome Driver 吧。
可以用 Xfvb + Firefox 在無頭 EC2 主機上跑 Selenium 解析 AJAX


我解決動態網頁目前就兩種方法,在開發人員工具下看頁面請求數據時,需要構造的請求是什麼,有什麼規律,然後手動寫;要麼就是selenium,不過佔用系統資源太多,爬少量數據還行。


請求ajax的地址


推薦閱讀:

scrapy的request的meta參數是什麼意思?
用python寫爬蟲時用自帶的urllib好還是用request庫好,還是兩個都要學?
C#多線程發送http請求效率是否比python慢?
一個爬蟲框架需要具備哪些功能?
爬蟲數據礦工的命運?

TAG:JavaScript | Python | Ajax | 爬蟲計算機網路 | scrapy |