在不正确的网页上抓一张表格

时间:2016-05-14 11:47:08

标签: python python-3.x robobrowser

我正在尝试使用robobrowser和python 3.4来抓取一个html表单。我使用默认的html解析器:

self._browser = RoboBrowser(history=True, parser="html.parser")

它适用于正确的网页但现在我必须解析错误的书面页面。这是html片段:

<form method="post"  action="decide.php?act=submit_advance">
    <table  class="td_advanced">
    <tr class="td_advance">
    <td colspan="4" class="td_advance"></strong><br></td>
    <td colspan="3" class="td_left">Case sensitive:<br><br></td>
    <td><input type="checkbox" name="case_sensitive" /><br><br></td>
[...]
</form>

结束 strong 标记不正确。此错误会阻止解析器读取此错误标记后的所有输入:

form = self._browser.get_form()
print(form)
>>> <RoboForm>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方案。关于beautifulsoup的评论很有帮助,并以适当的方式进行了搜索。

解决方案是:使用另一个html解析器。我试过 lxml ,它对我有用。

restclient

由于PyPI目前没有lxml安装程序使用我的python版本,我从这里下载了它:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml