[英]Reading dynamically generated web pages using python
我正在嘗試使用python和漂亮的湯抓取一個網站。 我遇到了一些站點,盡管在瀏覽器中看到的圖像鏈接在源代碼中看不到。 但是,在使用Chrome Inspect或Fiddler時,我們可以看到相應的代碼。 我在源代碼中看到的是:
<div id="cntnt"></div>
但是在Chrome Inspect上,我可以看到在此div類中生成了一大堆HTML \\ CSS代碼。 有沒有辦法在python中也加載生成的內容? 我在python中使用常規的urllib,我可以獲取源代碼,但沒有生成的部分。
我不是網絡開發人員,因此無法以更好的方式表達行為。 請隨時澄清我的問題是否含糊不清!
您需要JavaScript引擎來解析和運行頁面內的JavaScript代碼。 有很多無頭的瀏覽器可以幫助您
http://code.google.com/p/spynner/
http://github.com/ryanpetrello/python-zombie
http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/
網站的內容可能是在通過javascript加載后生成的,為了通過python獲取生成的腳本,請參考此答案
首先嘗試!
從技術上講,數據可能在javascript本身中,並且需要所有這些javascript引擎業務。 (這里有一些很棒的鏈接!)
但是根據經驗,我的第一個猜測是JS是通過ajax請求提取數據的。 如果您可以讓您的程序模擬這一點,那么您可能將不需要的任何繁瑣的解析/執行/抓取工作就可以直接交給您!
不過,這將需要一些偵探工作。 建議您打開網絡流量記錄器(例如Firefox中的“ Web Developer Toolbar”),然后訪問該站點。 將注意力集中在任何/所有XmlHTTPRequest上。 您所需的數據應該在這些響應之一中的某個位置,可能在某些JSON文本的中間。
現在,查看是否可以重新創建該請求並直接獲取數據。 (注意:您可能必須設置請求的用戶代理,以便服務器認為您是“真正的” Web瀏覽器。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.