我多次使用请求库,我知道它有很多优点。然而,我试图检索以下维基百科页面:
requests.get部分检索它:
response = requests.get('https://en.wikipedia.org/wiki/Talk:Land_value_tax', verify=False)
html = response.text我使用urllib2和urllib2.urlopen尝试它,它完全检索相同的页面:
html = urllib2.urlopen('https://en.wikipedia.org/wiki/Talk:Land_value_tax').read()有人知道为什么会发生这种情况,以及如何使用请求来解决吗?
顺便说一句,看看这篇文章被浏览的次数,我意识到人们有兴趣了解这两个图书馆的不同之处。如果有人知道这两个库之间的其他区别,如果他们编辑这个问题或者发布一个答案并添加这些差异,我会很感激。
发布于 2015-05-05 03:28:59
在我看来,问题在于目标页面上的脚本。js驱动的内容在这里呈现(特别是我发现了对mediawiki的调用)。因此,您需要查看网页嗅探器来识别它:

该怎么办呢?如果您想检索整个页面内容,最好在页面javascript中插件任何一个库。阅读更多的这里。
更新
我对检索从MediaWiki检索的整个页面和统计信息或JS库不感兴趣。我只需要整个页面内容(通过抓取,而不是MediaWiki API)。
问题是,这些js调用其他资源(包括。让整个页面呈现给客户端成为可能。但是由于库不支持JS执行,所以js不执行,=>页面部件没有从其他资源加载,=>目标页面并不完整。
https://stackoverflow.com/questions/30042429
复制相似问题