BeautifulSoup 仅查找属性包含子字符串的元素?这可能吗?
BeautifulSoup find only elements where an attribute contains a sub-string? Is this possible?
我在 BeautifulSoup
代码中调用了 find_all()
。这目前可以获取所有图像,但如果我只想定位在 src
中具有 "placeholder" 子字符串的图像,我该怎么做?
for t in soup.find_all('img'): # WHERE img.href.contains("placeholder")
您可以 pass a function 在 src
关键字参数中:
for t in soup.find_all('img', src=lambda x: x and 'placeholder' in x):
import re
for t in soup.find_all('img', src=re.compile(r'placeholder')):
或者,使用 select()
:
而不是 find_all()
for t in soup.select('img[src*=placeholder]'):
我在 BeautifulSoup
代码中调用了 find_all()
。这目前可以获取所有图像,但如果我只想定位在 src
中具有 "placeholder" 子字符串的图像,我该怎么做?
for t in soup.find_all('img'): # WHERE img.href.contains("placeholder")
您可以 pass a function 在 src
关键字参数中:
for t in soup.find_all('img', src=lambda x: x and 'placeholder' in x):
import re
for t in soup.find_all('img', src=re.compile(r'placeholder')):
或者,使用 select()
:
find_all()
for t in soup.select('img[src*=placeholder]'):