我想使用beautifulsoup刮取图像的href。但是,我不知道是否有必要从不同页面的同一图像源中刮除各种不同的href。
例如:
imgsource是/image/download.png
在网络的每个页面中,其/image/download.png
具有不同的href
第1页:/image/download.png with href http://www.example.com/number1
第2页:/image/download.png with href http://www.example.com/ABC
以此类推。
我的目的是从整个网站中刮除所有具有相同图像/image/download.png
的链接(href)。你能帮我吗?
图片的HTML:
<p><a href="www.example.com/thisislink"><img src="/image/download.png" border="0" /></a></p>
一开始我没有代码,因为我对beautifulsoup不太熟悉,但是我还没有找到可以从同一张图片中删除各种链接的教程。
答案 0 :(得分:0)
类似这样的东西:
from bs4 import BeautifulSoup
html_doc = """
<p><a href="www.example.com/thisislink1"><img src="/image/download.png" border="0" /></a></p>
<p><a href="www.example.com/thisislink2"><img src="/image/download.png" border="0" /></a></p>
<p><a href="www.example.com/thisislink3"><img src="/image/other.png" border="0" /></a></p>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
for i in soup.find_all('img',src="/image/download.png"):
print(i.find_parent('a', href=True)['href'])
# Out:
# www.example.com/thisislink1
# www.example.com/thisislink2
首先用特定的img
搜索src
标签,然后从父标签中提取href
。