2012-03-01 154 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标头,并在失败时引发错误。