2011-12-15 5 views
6

Python's Mechanize module ile çalışıyorum.Python Mekanize bu siteleri açamaz

  1. en.wikipedia.org/wiki/Dog (yeni kullanıcı, 2'den fazla bağlantılar TT sonrası olamaz)
  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. : Ben doğrudan mechanize tarafından açılamaz 3 farklı sitelerde rastlamak ettik aşağıdaki kodu ekleme
  4. http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html

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

wikipedia makale ve google arama sonucu açıp ayrıştırmak motorize verir 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')] 

Ama benim geçici çözümler CPSC.gov web için maç - Ben mechanize Browser ile açmaya çalıştığınızda, benim piton donuyor - noktasına bile Klavye bunu kesme edemez nerede .

Neler oluyor burda?

cevap

14

cpsc.gov sitesinde, HTTPRefreshProcessor makinasını doğru şekilde işlenemeyen bir refresh başlığı var gibi görünüyor. Ancak, aşağıdaki gibi geçici bir çözüm olabilir:

import mechanize 

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

Sen bir patronsun! Sorunun cevabını nasıl bildiğinizi sorabilir miyim? –

+2

"urllib2.urlopen" ve "mechanize.urlopen" ile url açmak mümkün olduğunu fark ettim. Bundan sonra, her bir açıcının ('urllib2._opener',' mechanize._opener' ve 'mechanize.Browser()') işleyicilerini karşılaştırdım ve [HttpFox] 'un izlerini inceledim (https://addons.mozilla.org/tr-tR/firefox/addon/HttpFox /). Birkaç denemeden sonra, yenileme işlemcisinin kaldırılmasının doğru çözüm olduğunu anladım. – jcollado

+0

Saygı. Tekrar teşekkürler :) –