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


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

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

1贊 收藏

想寫一個爬蟲,但是需要抓去的的數據是js生成的,在源代碼里看不到,要怎么才能抓到呢? 最好是用python

鏈接

7 個回答

3贊
采納

如果對抓取的性能沒有什么要求的話, 嘗試一下selenium或者watir吧.
web自動化測試腳本用好了可以做很多事情.
利用你的瀏覽器執行好js, 然后再從dom里面取數據.

另外一個情況, 如果你知道js是通過ajax或者api取數據的, 直接去抓數據源, 得到的不是json就是xml, 然后處理數據吧

鏈接
1贊
采納

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

一種辦法是可以考慮用userscript,獲取數據然后post到服務器等就隨你自己的喜歡了

還有一種辦法(假設是在win32),可以使用com組件調用IE然后獲取動態生成的dom樹,然后再做處理

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

當然,你也可以用python什么自己實現一套瀏覽器和js引擎,那么這些數據肯定是你自己的了,不過還不如直接改或者用com組件

但是你說的爬蟲爬取js生成的,那是沒有辦法的:(不管怎么樣,一定要實現dom樹,要讓js能執行,那么就相當於你要實現一套簡單的瀏覽器了

鏈接
0贊
采納

目前認為比較好的一個方案是采用python+gtk+pywebkit,相當於基於webkit自己寫一個定制的瀏覽器,這樣可以在網頁中插入自己的js,遍歷dom等都是非常容易的。這個組合在ubuntu下還是非常容易搭建的。
sudo apt-get install python-gtk python-webkit,即可。

鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM