我尝试用表单解析辅助页面。我使用此链接中的示例代码源: 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'
我如何从辅助页面解析表单?
问候。
答案 0 :(得分:2)
getroot
方法不会为您提供另一个“页面”,而是lxml.html.HtmlElement
的实例。
再次parse
不需要(也没办法),你已经将所需的一切都打包到result
变量中。