【发布时间】:2018-07-29 17:05:05
【问题描述】:
我在这里有点紧张:
它是一个非常混乱的 ASP 网站,我试图从中获取数据:
我正在尝试使用for 循环来获取href 以及网站上第 4 个表的所有行的文本,所以我首先这样做了:
table = soup.findAll('table')[3]
然后我需要从这个表中获取<tr> 标记内的所有文本以及<a> 内的href。
我试过这样的:
for product in table.findAll('tbody'):
product_title = product.find('tr').text
product_link = product.find('a')['href']
print (product_title, product_link)
但我没有得到任何回报
我正在处理的表:
<tr bgcolor="#EFEFEF">
<td>
<a href="free.asp?detail=hide&c_id=4342141">
<img align="absmiddle" border="0" hspace="0" src="pic/bullet.gif" vspace="0"/>
</a>
</td>
<td>
4342141
</td>
<td width="10">
</td>
<td>
25.07.2018 09:00
</td>
<td width="10">
</td>
<td>
Ankara
</td>
<td width="10">
-
</td>
<td>
Konya
</td>
<td colspan="2">
</td>
</tr>
<tr bgcolor="#EFEFEF" height="3">
<td colspan="10">
</td>
</tr>
<tr bgcolor="#FFFFFF" height="1">
<td colspan="10">
</td>
</tr>
<tr bgcolor="#DDDDDD" height="6">
<td colspan="10">
</td>
</tr>
<tr bgcolor="#FFFFFF" height="1">
<td colspan="10">
</td>
</tr>
<tr bgcolor="#DEE3E7" height="3">
<td colspan="10">
</td>
</tr>
<tr bgcolor="#DEE3E7">
<td>
<a href="free.asp?detail=hide&c_id=4134123">
<img align="absmiddle" border="0" hspace="0" src="pic/bullet.gif" vspace="0"/>
</a>
</td>
<td>
4134123
</td>
<td width="10">
</td>
<td>
26.07.2018 09:00
</td>
<td width="10">
</td>
<td>
Van
</td>
<td width="10">
-
</td>
<td>
Istanbul
</td>
<td colspan="2">
</td>
</tr>
【问题讨论】:
-
你能出示
product的打印件吗? -
您的 HTML 文档是什么样的?
-
请编辑您的问题,如果没有示例 HTML/URL,我们在这里无法为您提供太多帮助。
-
你错过了
for循环块中的缩进。 -
表格中有“tbody”元素吗?您的 HTML 中缺少它。没有它,您的代码将不会打印任何内容。
标签: python-3.x beautifulsoup python-requests lxml