如何避免机器人检测?

1 python robots.txt mechanize web-scraping

我正在使用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()
Run Code Online (Sandbox Code Playgroud)

fnout只是将字符串转储到文件中.然而,当我打开时001-login.html,整个页面都是"机器人"这个词.没有其他的.

我没有提出任何其他要求.这不像我加载页面并没有加载图像,或其他什么.这是我提出的第一个请求,我将User-Agent与网站使用的链接版本完全相同.我做错了什么(除了试图刮去一个不想被刮的网站,那是)?

kin*_*all 7

可能还有其他标头links正在发送,而Mechanize不是,反之亦然.用两个和Mechanize 命中http://www.reliply.org/tools/requestheaders.phplinks并查看正在发送的标题.