<div class="someClass">
<a href="href">
<img alt="some" src="some"/>
</a>
</div>
私はbs4を使用していますが、a.attrs['src']
を使用してsrc
を取得することはできませんが、href
を取得することはできます。私は何をすべきか?
BeautifulSoup
を使用して、html img
タグのsrc
属性を抽出できます。私の例では、htmlText
にはimg
タグ自体が含まれていますが、これはurllib2
とともにURLにも使用できます。
RLの場合
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']
リンクには属性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'