如何用python抓取js生成的數據 - SegmentFault

如何用python抓取js生成的數據 - SegmentFaulthtml

如何用python抓取js生成的數據

1贊 收藏

想寫一個爬蟲,可是須要抓去的的數據是js生成的,在源代碼裏看不到,要怎麼才能抓到呢? 最好是用pythonpython

連接

7 個回答

3贊
採納

若是對抓取的性能沒有什麼要求的話, 嘗試一下selenium或者watir吧.
web自動化測試腳本用好了能夠作不少事情.
利用你的瀏覽器執行好js, 而後再從dom裏面取數據.git

另一個狀況, 若是你知道js是經過ajax或者api取數據的, 直接去抓數據源, 獲得的不是json就是xml, 而後處理數據吧github

連接
1贊
採納

對於JS生成的數據,你是沒有辦法獲取的。除非直接遍歷dom仍是有可能……ubuntu

一種辦法是能夠考慮用userscript,獲取數據而後post到服務器等就隨你本身的喜歡了segmentfault

還有一種辦法(假設是在win32),能夠使用com組件調用IE而後獲取動態生成的dom樹,而後再作處理api

當年試過改firefox的程序來作這個,不過也很麻煩

固然,你也能夠用python什麼本身實現一套瀏覽器和js引擎,那麼這些數據確定是你本身的了,不過還不如直接改或者用com組件

可是你說的爬蟲爬取js生成的,那是沒有辦法的:(無論怎麼樣,必定要實現dom樹,要讓js能執行,那麼就至關於你要實現一套簡單的瀏覽器了

連接
0贊
採納

目前認爲比較好的一個方案是採用python+gtk+pywebkit,至關於基於webkit本身寫一個定製的瀏覽器,這樣能夠在網頁中插入本身的js,遍歷dom等都是很是容易的。這個組合在ubuntu下仍是很是容易搭建的。
sudo apt-get install python-gtk python-webkit,便可。

連接
相關文章
相關標籤/搜索