我正在使用Python的Mechanize模块。我遇到过3个不能直接通过机械化打开的网站:
http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html
import mechanize
br = mechanize.Browser()
br.set_handle_robots(False)
添加以下代码允许机械化打开并解析维基百科文章和谷歌搜索结果:
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
但是,我的解决方法与CPSC.gov网站无法匹配 - 当我尝试使用机械化浏览器打开它时,我的python会冻结 - 我甚至无法键盘中断它。
这里发生了什么?
答案 0 :(得分:14)
对于cpsc.gov站点,看起来机械化HTTPRefreshProcessor没有正确处理refresh标头。但是,您可以按如下方式解决问题:
import mechanize
url = 'http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html'
br = mechanize.Browser()
br.set_handle_refresh(False)
br.open(url)