【问题标题】:urllib2 not returning full webpageurllib2 没有返回完整的网页
【发布时间】:2012-03-01 13:18:44
【问题描述】:

我刚开始使用 Python,我正在尝试使用 urllib2 请求网站的 html 源代码。但是,当我尝试从网站获取 html 内容时,我没有获得完整的 html 内容 - 缺少标签。我知道它们丢失了,因为当我在 firebug 中查看该站点时,代码会显示出来。这是由于我请求数据的方式 - 还是由于网站?如果是这样,有没有一种方法可以让我在 python 中获取网站的完整源代码,然后解析它?

目前我用来请求内容的代码和我正在尝试的网站是:

import urllib2

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

特别是 - div id="map_area" - 之间的内容丢失了。非常感谢任何帮助/指针!

【问题讨论】:

标签: python web-scraping


【解决方案1】:

您收到的数据不完整,因为此页面上的大部分内容都是通过 Javascript 动态生成的...

【讨论】:

    【解决方案2】:

    readurlopen 返回的描述符上只会返回已经下载的内容。所以你很容易得到一个简短的阅读。您最好使用urllib.urlretrieve(),它会尝试获取整个文件,检查 Content-Length 标头,如果失败则引发错误。

    【讨论】:

      猜你喜欢
      • 2016-10-10
      • 1970-01-01
      • 2018-11-24
      • 2019-03-12
      • 2023-03-19
      • 2021-11-04
      • 2011-09-16
      • 1970-01-01
      • 2020-07-13
      相关资源
      最近更新 更多