2011-12-15 58 views
6

我正在使用Python的Mechanize模块。我遇到无法通过机械化直接打开3个不同的地点:Python Mechanize不会打开这些网站

  1. en.wikipedia.org/wiki/Dog(新用户,不能发布超过2个链接TT)
  2. https://www.google.com/search?num=100&hl=en&site=&q=dog&oq=dog&aq=f&aqi=g10&aql=1&gs_sm=e&gs_upl=618l914l0l1027l3l2l0l0l0l0l173l173l0.1l1l0
  3. http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html

    import mechanize 
    br = mechanize.Browser() 
    br.set_handle_robots(False) 
    

添加以下代码允许机械化打开和分析维基百科的文章和谷歌的搜索结果S:

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网站 - 当我试图与机械化浏览器中打开它,我的蟒蛇冻结 - 的地步,我甚至无法键盘中断它。

这是怎么回事?

回答

14

在cpsc.gov网站的情况下,它看起来像有一个refresh头没有通过机械化HTTPRefreshProcessor正确处理。但是,您可以按如下方式解决问题:

import mechanize 

url = 'http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html' 
br = mechanize.Browser() 
br.set_handle_refresh(False) 
br.open(url) 
+0

您是老板! 我可以问你如何知道我的问题的答案? – 2011-12-16 01:36:44