<td style="text-align: center;"><a title="Some title" href="https://www.blabla.com">Testing</a></td>
我正在尝试使用BeautifulSoup
来获取a
标签中的所有href
,它们是td
标签的子标签。
我可以运行
urls = [x for x in soup.findAll("td")]
获取所有的td
标签,然后手动循环查看它们是否包含a
标签,如果包含,则提取href
,但有没有更干净的方法可以在一行中完成此操作?
尝试使用:has()
CSS选择器来选择所有具有<a>
标记的td
标记。
from bs4 import BeautifulSoup
html = """<td style="text-align: center;"><a title="Some title" href="https://www.blabla.com">Testing</a></td>"""
soup = BeautifulSoup(html, "html.parser")
print([tag.find("a")["href"] for tag in soup.select("td:has(a)")])
输出:
['https://www.blabla.com']