我正在使用python+mechanize,试图抓取一个站点。如果我使用链接访问此站点,则会出现登录页面的纯文本版本。这就是我想用刮刀看到的。所以:
import mechanize
USER_AGENT = "Links (2.3pre1; Linux 2.6.32-5-xen-amd64 x86_64; 80x24)"
mech = mechanize.Browser(factory=mechanize.RobustFactory())
mech.addheaders = [('User-agent', USER_AGENT)]
mech.set_handle_robots(False)
resp = mech.open(URLS['start'])
fnout("001-login.html", resp.read())
resp.close()
fnout
只是将字符串转储到文件中。然而,当我打开001-login.html
时,整个页面都是单词“Robot”。没别的了。在
我没有提出任何其他要求。这不是说我加载了页面&没有加载图像,或者其他什么。这是我提出的第一个请求,我将用户代理与站点所使用的链接版本完全相同。我做错了什么(除了试图去刮一个不想被刮的网站之外)?在
很可能
links
正在发送的其他头文件没有Mechanize,反之亦然。同时使用links
和Mechanize找到http://www.reliply.org/tools/requestheaders.php,然后查看发送了哪些头。在相关问题 更多 >
编程相关推荐