如何使用Python从<image />获取src属性

时间:2019-07-08 22:23:14

标签: python web-scraping beautifulsoup

我正在从一个站点抓取数据,并且我需要查找一张img。 我明白了,但是输出不是我所需要的。

我试图在网上寻找解决方案,更改代码,但没有任何效果。

r = requests.get(baseurl)
content = r.content
soup = BeautifulSoup(content, "html.parser")

images = soup.findAll('img')[1]
print(images)

我得到的输出:

<img src="https://cdn.rubyrealms.com/images/WKpivrdGBJJ9p6etIY2aJpixikFj4vnpmpPR9pXjK4Y8K.png" style="border-radius: 5px"/>

我需要的输出:

cdn.rubyrealms.com/images/WKpivrdGBJJ9p6etIY2aJpixikFj4vnpmpPR9pXjK4Y8K.png

(我尝试了print(images.text))

2 个答案:

答案 0 :(得分:1)

以下是您可以修改的示例:

parser.feed('<img src="python-logo.png" alt="The Python logo">')
Start tag: img
attr: ('src', 'python-logo.png')

参考:https://docs.python.org/3/library/html.parser.html

答案 1 :(得分:1)

您可以使用;

获取img标签的src内容。
images = soup.findAll('img')[1]
print(images.get("src"))

images = soup.findAll('img')[1]
print(images['src'])

输出

https://cdn.rubyrealms.com/images/WKpivrdGBJJ9p6etIY2aJpixikFj4vnpmpPR9pXjK4Y8K.png

print(images.text)的问题在于,它用于提取两个标签之间的文本,而您要提取标签本身内部的文本。

希望这对您有所帮助:)