簡體   English   中英

Python Mechanize中的錯誤 - “mechanize._mechanize.BrowserStateError:not viewing HTML”

[英]Error in Python Mechanize - “mechanize._mechanize.BrowserStateError: not viewing HTML”

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)

這是我的代碼。 基本上,它提取頁面鏈接[第1,2,3,4,5頁的鏈接...]和特定頁面的數據鏈接。 然后它進入每個數據鏈接並提取一些數據,完成后移動到下一頁。 但我總是得到這個錯誤:

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

有人可以幫忙嗎?

感謝loevborg發布的鏈接,我一直在使用這個:

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

現在br.viewing_html()將評估為True

這似乎與檢查響應是否有效HTML有關:

http://github.com/jjlee/mechanize/blob/master/mechanize/_mechanize.py#L440

也許你得到XHTML的響應,或者有無效的標題? 可能有某種方法可以覆蓋is_html屬性(就像這里一樣)。

在br.open可能幫助之前將您的應用程序作為瀏覽器引入:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM