【发布时间】:2011-06-13 06:25:14
【问题描述】:
我搜索了很多关于 BeautifulSoup 和一些建议 lxml 作为 BeautifulSoup 的未来,虽然这是有道理的,但我很难从网页上的整个表格列表中解析下表。
我对具有不同行数的三列感兴趣,具体取决于页面和检查时间。 BeautifulSoup 和 lxml 解决方案非常受欢迎。这样我可以要求管理员在开发人员上安装 lxml。机器。
期望的输出:
Website Last Visited Last Loaded
http://google.com 01/14/2011
http://stackoverflow.com 01/10/2011
...... more if present
以下是来自混乱网页的代码示例:
<table border="2" width="100%">
<tbody><tr>
<td width="33%" class="BoldTD">Website</td>
<td width="33%" class="BoldTD">Last Visited</td>
<td width="34%" class="BoldTD">Last Loaded</td>
</tr>
<tr>
<td width="33%">
<a href="http://google.com"</a>
</td>
<td width="33%">01/14/2011
</td>
<td width="34%">
</td>
</tr>
<tr>
<td width="33%">
<a href="http://stackoverflow.com"</a>
</td>
<td width="33%">01/10/2011
</td>
<td width="34%">
</td>
</tr>
</tbody></table>
【问题讨论】:
-
您想要什么结果?带有站点名称和日期的字典条目? html的来源是什么?它在你的控制范围内吗?
-
不幸的是,html 的来源不在我的控制范围内。字典条目会起作用,只是没有。每页的行数不同,如“所需输出”部分所示。没有与表格关联的类,因此如果表格的内容中有“网站”,那么我们会抓取该数据。
标签: python beautifulsoup html-table lxml