Python BeautifulSoup4:如何从锚标签中获取 link 而不重复

Python BeautifulSoupe4: How to get link from anchor tag without duplicate

<a href=”link” class=”link_to_img”>
<img src=”dosen’t matter”></img>
</a>
<span>
<a href=”link” class=”link_to_img”>Title Of Image</a>
</span>

如你所见,当我尝试获取 link 时有两个 <a href=”link” class=”link_to_img”></a> 示例:href.findAll('a', 'class': 'link_to_img') 它获取了 link 但它复制了它,我只是需要它一次。有没有办法可以在 <span></span>

中定位 <a></a>

您可以在 findAll() 中使用 limit argument

find_all("a", limit=1)

您可以 select 您的 link 与 span > a CSS selector 匹配直接位于 span 标签内的 a 标签:

soup.select("span > a")

您还可以检查 class:

soup.select("span > a.link_to_img")

如果您使用的是最新的 beautifulsoup4 软件包,您可以使用 select_one() 使其成为 return 单个 Tag 实例而不是列表:

soup.select_one("span > a.link_to_img")