Amr*_*lip 1 postgresql mechanize beautifulsoup python-2.7
所以我试图从这个网站http://dl.acm.org/dl.cfm进行解析。该网站不允许网络抓取工具,因此我得到了HTTP error: 403 forbidden.
我正在使用 python,所以我尝试机械化来填写表单(自动填写表单或单击按钮),但我再次遇到了相同的错误。
我什至无法使用urllib2.urlopen()函数打开 html 页面,它给出了相同的错误。
谁能帮我解决这个问题吗?
如果网站不允许网络抓取工具/机器人,那么您一开始就不应该在网站上使用机器人。
但为了回答你的问题,我怀疑该网站正在阻止 urllib 的默认用户代理。您可能必须通过编写自己的请求来将用户代理欺骗到已知的浏览器。
headers = {"User-Agent":"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11"}
req = urllib2.Request("http://dl.acm.org/dl.cfm", headers=headers)
urllib2.urlopen(req)
Run Code Online (Sandbox Code Playgroud)
编辑:我测试了这个并且它有效。该网站正在根据用户代理主动进行阻止,以阻止劣质机器人忽略 robots.txt
| 归档时间: |
|
| 查看次数: |
2913 次 |
| 最近记录: |