【问题标题】:Python: Inconsistent results with urlopenPython:与 urlopen 不一致的结果
【发布时间】:2015-02-19 13:50:14
【问题描述】:

我正在使用来自urllib2urlopen 函数,每次阅读同一页面时我都会得到不同的结果。代码:

import urllib2
for i in range(5):
    response = urllib2.urlopen('http://wlstorage.net/file/freddy-balzan-emails-2005-2008/')
    html = response.read()
    print len(html), 'first chars:', html[:10] ,'last chars:', html[-10:]

输出:

zvi@zvi-S400CA:~/workspace/crawler$ python mini_test.py 
14259 first chars: <!-- MHonA last chars: E1;n</em> 
15707 first chars: <!-- MHonA last chars: 5, 2008)<b
43219 first chars: <!-- MHonA last chars: ="07081" h
37427 first chars: <!-- MHonA last chars: 01.html">F
43219 first chars: <!-- MHonA last chars: ="07081" h

是什么原因造成的,我该如何解决它,以便获得整个页面,而不仅仅是其中的一小部分?

【问题讨论】:

  • 可能页面上有动态内容,每次大小都会变化。例如,不同的广告可能占用不同数量的空间。在这种情况下,答案是“没有什么可修复的”
  • 我的示例中的特定网页没有任何广告,它的内容似乎是静态的。
  • 尝试检查html 值以及查看它的长度。例如,它总是以“

标签: python html web-crawler urllib2


【解决方案1】:

尝试使用requests 模块

>>> import requests
>>> response = requests.get('http://wlstorage.net/file/freddy-balzan-emails-2005-2008/')
>>> len(response.text)
68361

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 2016-12-14
    • 2019-04-09
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    相关资源
    最近更新 更多