2012-03-01 50 views
4

我剛剛開始使用Python,我試圖請求使用urllib2的網站的html源代碼。但是,當我嘗試從網站獲取html內容時,我沒有收到完整的html內容 - 缺少標籤。我知道他們錯過了,因爲當我在螢火蟲中查看該網站時,代碼顯示出來。這是由於我要求數據的方式 - 還是由於網站?如果有,我可以通過python獲取站點的完整源代碼,然後解析它?urllib2沒有返回完整的網頁

目前我使用要求的內容和我想的網站的代碼是:

import urllib2 

url = 'http://marinetraffic.com/ais/' 
response = urllib2.urlopen(url) 
html = response.read() 
print(html) 

具體的之間的內容 - 缺失 - DIV ID =「map_area」。任何幫助/指針非常感謝!

+0

這[相關問題](http://stackoverflow.com/q/8323728/183066)將會有所幫助。 – jcollado 2012-03-01 13:50:15

回答

4

您對urlopen返回只會返回那些已經被下載描述符獲得不完整的數據,因爲大多數此頁面上的內容是動態通過JavaScript產生...

0

read。所以你可能會得到一個簡短的閱讀。您最好使用urllib.urlretrieve(),它會嘗試獲取整個文件,檢查Content-Length標頭,並在失敗時引發錯誤。