2011-12-15 62 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