BeautifulSoup在任何标签中查找属性值

时间:2019-03-08 10:03:25

标签: python-3.x beautifulsoup

如何使用bs4查找某些属性的值?例如,我需要找到src属性的所有值,它可以在我的html文档的任何标记中。

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

from bs4 import BeautifulSoup
import requests

r = requests.get('http://your.url')
soup = BeautifulSoup(r.text,'html.parser')

attr_src = []
for tag in soup():
    if 'src' in tag.attrs:
        attr_src.append(tag.get('src'))
print(attr_src)

答案 1 :(得分:1)

只需使用属性选择器(这就是它的用途)。更有效率。

values = [item['src'] for item in soup.select('[src]')]

您可以通过在属性(即[src =“ mystring”]之后添加=子字符串/字符串)来添加所需值的所需字符串/子字符串来扩展

示例:

import requests
from bs4 import BeautifulSoup as bs

res = requests.get('https://stackoverflow.com/questions/55060825/beautifulsoup-find-attribute-value-in-any-tag/55062258#55062258')
soup = bs(res.content, 'lxml')
values = [item['src'] for item in soup.select('[src]')]
print(values)