2010-08-12 19 views
6
for link in br.links(url_regex="inquiry-results.jsp"): 
    cb[link.url] = link 

for page_link in cb.values():    
    for link in br.links(url_regex="inquiryDetail.jis"): 
      .................... 
     url = link.absolute_url 
     br.follow_link(link) 
      ...................... 
    br.follow_link(page_link) 

Este es mi código. Básicamente, extrae enlaces de página [Enlace de página 1,2,3,4,5 ...] y enlaces de datos de una página en particular. Luego va en cada enlace de datos y extrae algunos datos y cuando termina, pasa a la página siguiente. Pero siempre obtengo este error:Error en Python Mechanize - "mechanize._mechanize.BrowserStateError: no está viendo HTML"

Traceback (most recent call last): 
    File "C:\python27\test.py", line 95, in <module> 
    for link in br.links(url_regex="inquiryDetail.jis"): 
    File "build\bdist.win32\egg\mechanize\_mechanize.py", line 405, in links 
mechanize._mechanize.BrowserStateError: not viewing HTML 

¿Alguien puede ayudar?

Respuesta

6

Gracias al enlace publicado por Loevborg, He estado usando esto:

br.open('http://example.com') 
br._factory.is_html = True 

Ahora br.viewing_html() se evaluará como true

0

Presente a su aplicación como un navegador antes br.open podría ayudar a este:

br.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/45.0.2454101')] 
Cuestiones relacionadas