Python 如何查找仅具有子锚点的元素?
使用v4,我有一些Python 如何查找仅具有子锚点的元素?,python,html,beautifulsoup,tags,Python,Html,Beautifulsoup,Tags,使用v4,我有一些td元素,其中一些包含一个子a元素 <tr class=""> <td class="tblimg"><img alt="" src="/blah/deficon.png"/></td> <td><a href="https://blah.com/file-25013.xhtml"><b
td
元素,其中一些包含一个子a
元素
<tr class="">
<td class="tblimg"><img alt="" src="/blah/deficon.png"/></td>
<td><a href="https://blah.com/file-25013.xhtml"><b>file.mp3</b></a><br/><span
style="color: grey;">76.33 MB<br/>33129 Downloads<br/>55:34 Mins<br/>192kbps Stereo</span>
</td>
</tr>
76.33 MB
33129下载
55:34分钟
192kbps立体声
有没有好办法只找到那些有孩子的
td
?目前,我正在对所有这些问题进行迭代,并丢弃那些td.find(“a”)
不存在的问题。虽然您已经有了答案,但我想提供另一个解决方案供您参考:)
从simplified_scrapy导入SimplifiedDoc
html=“”
76.33 MB
33129下载
55:34分钟
192kbps立体声
'''
doc=SimplifiedDoc(html)#创建文档
#首先获取表中的所有a,然后获取a的父级。可以一次检索所有数据。
tds=doc.selects('table>a')。父项
打印(tds)
结果:
[{'tag': 'td', 'html': '<a href="https://blah.com/file-25013.xhtml"><b>file.mp3</b></a><br /><span style="color: grey;">76.33 MB<br />33129 Downloads<br />55:34 Mins<br />192kbps Stereo</span>\n '}]
[{'tag':'td','html':'
76.33 MB
33129下载
55:34分钟
192kbps立体声\n']
锚定是否始终直接位于
内?我会抓取CSS选择器td>a
,然后抓取您找到的每个元素的父元素。@ggorlen“是”中的锚点总是直接位于“是”中。但是row.find_all(“td>a”)
什么也找不到。这是否回答了您的问题find_all
不接受这样的CSS选择器。您可能需要bs。选择(“td>a”)
@ggorlen您发布的链接没有帮助。接受的答案将查找所有div
s,而不考虑父母是谁。
[{'tag': 'td', 'html': '<a href="https://blah.com/file-25013.xhtml"><b>file.mp3</b></a><br /><span style="color: grey;">76.33 MB<br />33129 Downloads<br />55:34 Mins<br />192kbps Stereo</span>\n '}]