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")
<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")