[英]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.