首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python/Mechanize -无法选择表单-ParseError(可执行)

Python/Mechanize -无法选择表单-ParseError(可执行)
EN

Stack Overflow用户
提问于 2010-10-31 15:44:01
回答 2查看 1.9K关注 0票数 1

我得到了这个错误:

代码语言:javascript
复制
>>> br = Browser()
>>> br.open("http://www.bestforumz.com/forum/")
<response_seek_wrapper at 0x21f9fd0
whose wrapped object =
<closeable_response at 0x21f9558 whose
fp = <socket._fileobject object at
0x021F5F30>>>
>>> br.select_form(nr=0)

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    br.select_form(nr=0)
  File "build\bdist.win32\egg\mechanize\_mechanize.py", line 505, in select_form
    global_form = self._factory.global_form
  File "build\bdist.win32\egg\mechanize\_html.py", line 546, in __getattr__
    self.forms()
  File "build\bdist.win32\egg\mechanize\_html.py", line 559, in forms
    self._forms_factory.forms())
  File "build\bdist.win32\egg\mechanize\_html.py", line 228, in forms
    raise ParseError(exc)
ParseError: <unprintable ParseError object>

请帮帮我

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-31 17:05:17

机械化并不能保证解析所有的HTML。您可能必须手动完成此操作(这并不太难,因为这是Python)。

您是否正在尝试将查询发布到网站的search.php页面?您可以使用urllib2来实现这一点。

代码语言:javascript
复制
import urllib2
import urllib

values = dict(foo="hello", bar="world") # examine form for actual vars
try:
    req = urllib2.Request("http://example.com/search.php",
                          urllib.urlencode(values))
    response_page = urllib2.urlopen(req).read()
except urllib2.HTTPError, details:
    pass #do something with the error here...
票数 1
EN

Stack Overflow用户

发布于 2011-05-07 20:07:25

我告诉你,这是我用来解析html的一些秘密(目标是通过机械化来强制解析html )

代码语言:javascript
复制
br = mechanize.Browser(factory=mechanize.DefaultFactory(i_want_broken_xhtml_support=True))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4062250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档