gpt4 book ai didi

Python:提取周围图像的href

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:23 25 4
gpt4 key购买 nike

我正在使用 bs4 并想提取指定图像的 href。例如在我的 html 代码中:

<div style="text-align:center;"><a href="page/folder1/image.jpg" target="_blank"><img src="page_files/image.jpg" alt="Picture" border="0" width="150" height="150"></a></div>
</div>

我有我的图像 src 给定 (page_files/image.jpg) 并且想提取相应的 href,所以在这个例子中它是:page/folder1/image.jpg。我试图使用 find_previous 方法,但我在提取 href 内容时遇到了一个小问题:

soup = bs4.BeautifulSoup(page)
for img in soup('img'):
imgLink = img.find_previous("a")

这将返回整个标签:

<a href="Here_is_link"><img alt="Tumblr" border="0" src="Here_is_source"/></a>

但是我不能获取 href 内容,因为当我尝试制作时:

imgLink = img.find_previous("a")['href']

我有一个错误。同样的事情是当我尝试使用 find_parent

imgLink = img.find_parent("a")['href']

我该如何解决?哪个更好:find_previous()find_parent()

最佳答案

确保您寻找具有 <a> 的图像带有 href 的父标签属性:

for img in soup.select('a[href] img'):
link = img.find_parent('a', href=True)
print link['href']

CSS selector仅选择具有 <a href="..."> 的图像带有 href 的父标签 属性find_parent() search 然后再次将搜索限制为那些设置了属性的标签。

如果您要搜索所有 图像,您很可能会找到一些带有 <a> 的图像没有 href 的父标签或前标签属性; <a>标签也可用于带有 <a name="..."> 的链接目标, 例如。如果你得到 NoneType属性错误,这仅仅意味着 对于给定的 <img> 没有这样的父标签标签。

关于Python:提取周围图像的href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24993292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com