【问题标题】:How i parse with lxml a result page with form?我如何使用 lxml 解析带有表单的结果页面?
【发布时间】:2010-08-30 14:23:07
【问题描述】:

我尝试使用 form 解析辅助页面。我使用此链接中的示例代码源: http://blog.ianbicking.org/2007/09/24/lxmlhtml/ 在我的测试中,我使用这个网址:http://www.infofer.ro/ 就像例子一样,我使用这个值:

>>> pprint(form.form_values())
[('cboData', '8/30/2010'),
 ('txtPlecare', 'Bucuresti Nord'),
 ('txtSosire', 'Constanta'),
 ('tip', 'GO'),
 ('lng', '1')]

结果就是这样:

result = parse(submit_form(form)).getroot()

这是另一个表单的另一个页面。 我尝试这样的事情:

>>> page2=parse(result).getroot()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/site-packages/lxml/html/__init__.py", line 661, in parse
    return etree.parse(filename_or_url, parser, base_url=base_url, **kw)
  File "lxml.etree.pyx", line 2706, in lxml.etree.parse (src/lxml/lxml.etree.c:49945)
  File "parser.pxi", line 1525, in lxml.etree._parseDocument (src/lxml/lxml.etree.c:72026)
TypeError: cannot parse from 'HtmlElement'

我如何从辅助页面解析表单?

问候。

【问题讨论】:

    标签: python lxml


    【解决方案1】:

    getroot 方法不会给你另一个“页面”,而是lxml.html.HtmlElement 的一个实例。

    没有必要(也没有办法)再次使用parse,您已经将所需的一切打包到result 变量中。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多