0
<div class="someClass">
<a href="href">
<img alt="some" src="some"/>
</a>
</div>
我使用BS4和我不能使用a.attrs['src']
得到src
,但我可以得到href
img`標籤src`屬性。我該怎麼辦?提取``從使用BeautifulSoup
<div class="someClass">
<a href="href">
<img alt="some" src="some"/>
</a>
</div>
我使用BS4和我不能使用a.attrs['src']
得到src
,但我可以得到href
img`標籤src`屬性。我該怎麼辦?提取``從使用BeautifulSoup
鏈接沒有屬性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。
對於網址
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']
嗨,您的文章是有點難以閱讀 - 添加一些標點符號和線路中斷。報告您收到的確切錯誤消息以及您期望/想要發生的情況也會很有幫助。 – patrick
@patrick我修改了這個問題 – iDelusion
你爲什麼期望'a.attrs ['src']'工作?在所顯示的代碼段中,沒有包含'src'屬性的''標記。 – jwodder