机械化标记br.set_handle_gzip做什么?

时间:2012-06-13 06:34:49

标签: python-3.x mechanize mechanize-python

我正在尝试使用python mechanize模块来编写一些脚本。 当我运行它时,我得到以下错误。这实际上是这个set_handle_gzip?

manoj@ubuntu:~/pyth$ python rock.py                                    │                                                                      
rock.py:15: UserWarning: gzip transfer encoding is experimental!       │                                                                      
  br.set_handle_gzip(True)                                             │                                                                      
Traceback (most recent call last):                                     │                                                                      
  File "rock.py", line 60, in <module>                                 │                                                                      
    br.follow_link(text='Sign out')                                    │                                                                      
  File "/usr/lib/python2.7/dist-packages/mechanize/_mechanize.py", line│                                                                      
 569, in follow_link                                                   │                                                                      
    return self.open(self.click_link(link, **kwds))                    │                                                                      
  File "/usr/lib/python2.7/dist-packages/mechanize/_mechanize.py", line│                                                                      
 553, in click_link                                                    │                                                                      
    link = self.find_link(**kwds)                                      │                                                                      
  File "/usr/lib/python2.7/dist-packages/mechanize/_mechanize.py", line│                                                                      
 620, in find_link                         
    raise LinkNotFoundError()                                          │                                                                      
mechanize._mechanize.LinkNotFoundError 

我怎样才能克服这个错误?

1 个答案:

答案 0 :(得分:2)

由于以下行生成了gzip传输编码警告:

br.set_handle_gzip(True)

要删除警告消息,请将True更改为False

至于错误消息,原因是您的脚本无法在您正在使用的页面上找到“退出”的链接。

br.follow_link(text='Sign out') 

将此行中的文本值更改为与页面上使用的值相同的值。这将解决您的问题。