<div class="someClass">
<a href="href">
<img alt="some" src="some"/>
</a>
</div>
我想从图像(即img)标签中提取源(即src)属性,我使用bs4,我不能使用a.attrs['src']
来获取src
,但是我可以获取href
。我该怎么办?
这里有一个解决方案,如果img标签没有src属性,它不会触发KeyError:
from urllib.request import urlopen
from bs4 import BeautifulSoup
site = "[insert name of the site]"
html = urlopen(site)
bs = BeautifulSoup(html, 'html.parser')
images = bs.find_all('img')
for img in images:
if img.has_attr('src'):
print(img['src'])
链接没有属性src,您必须以实际img标记为目标。
import bs4
html = """<div class="someClass">
<a href="href">
<img alt="some" src="some"/>
</a>
</div>"""
soup = bs4.BeautifulSoup(html, "html.parser")
# this will return src attrib from img tag that is inside 'a' tag
soup.a.img['src']
>>> 'some'
# if you have more then one 'a' tag
for a in soup.find_all('a'):
if a.img:
print(a.img['src'])
>>> 'some'
您可以使用BeautifulSoup来提取html img标记的src属性。在我的示例中,htmlText包含img标记本身,但这也可以与urllib2一起用于URL。
对于URL
from BeautifulSoup import BeautifulSoup as BSHTML
import urllib2
page = urllib2.urlopen('http://www.youtube.com/')
soup = BSHTML(page)
images = soup.findAll('img')
for image in images:
#print image source
print(image['src'])
#print alternate text
print(image['alt'])
对于带有img标签的文本
from BeautifulSoup import BeautifulSoup as BSHTML
htmlText = """<img src="https://src1.com/" <img src="https://src2.com/" /> """
soup = BSHTML(htmlText)
images = soup.findAll('img')
for image in images:
print(image['src'])
Python 3:2022-02-02更新
from bs4 import BeautifulSoup as BSHTML
import urllib
page = urllib.request.urlopen('https://github.com/abushoeb/emotag')
soup = BSHTML(page)
images = soup.findAll('img')
for image in images:
#print image source
print(image['src'])
#print alternate text
print(image['alt'])
如果需要,安装模块
# python 3
pip install beautifulsoup4
pip install urllib3
我正在抓取此网页以供个人使用https://asheville.craigslist.org/search/fua并在提取页面上每个项目的缩略图时遇到问题。当我使用“检查”查看html DOM时,我可以查看包含我需要的. jpg的图像标签,但当我使用“查看页面源”时,img标签不会显示。起初我认为这可能是一个异步javascript加载问题,但一个可靠的消息来源告诉我,我应该能够直接用漂亮的汤抓取
我试图使用美丽的汤抓取newegg的产品名称、描述、价格和图像。我有以下bs4.element.标签类型,我想从标签中提取“src”链接。以下是我的标签: 我怎样才能提取 从这个标签?我试过了 但我收到了Keyerror。
问题内容: 使用PHP,如何隔离$ foo的src属性的内容?我寻找的最终结果只会给我“ http://example.com/img/image.jpg ” 问题答案: 如果您不想使用正则表达式(或任何非标准的PHP组件),则使用内置的DOMDocument类的合理解决方案如下:
问题内容: 我想创建一个页面,其中列出我网站上的所有图像,并附带标题和替代表示。 我已经给我写了一个小程序查找和加载所有的HTML文件,但现在我停留在如何提取,并依据此HTML: 我猜应该用一些正则表达式来完成,但是由于标签的顺序可能会有所不同,而且我需要所有标签,所以我真的不知道如何以一种优雅的方式解析它(我可以通过char方式,但这很痛苦)。 问题答案: 编辑:现在我知道了 使用正则表达式解决
我正在尝试使用Scrapy获取ID为的页面上图像的URL。target元素具有以下HTML代码 在Chrome浏览器中运行 正确抓取URL 问题:但是在Scrapy中使用以下CSS选择器, 而且 而且 给了我们 使用也返回了同样不正确的URL。 为什么Scrapy会抓取不同的SRC值?
我做了一个画廊,包含一些不同的图像和点击他们打开模态,并显示图像的缩放。 我使用相同的方法与投资组合,但在这里我只有4项,所以我创建4种不同的模态,显示描述等... 现在有了图像,我想要一个单一的模式,改变图像显示与用户点击。 包含图像的div是这样结构的: 这里是模态: 这里是jQuery: 以下链接 问题是,当我点击图片时,网站显示模式,但不显示里面的图片。。。使用inspect代码,我看到s