如何使用beautifulsoup查找具有以某些字符串开头的属性的所有标记?
以下似乎不起作用:(
soup.find_all('a', {'href':re.compile('^com')})
答案 0 :(得分:1)
它似乎按预期工作......我认为它在你的情况下不起作用是因为你的例子是错误的。由于href
代码通常不以com
开头,因此通常以http
或https
针对您自己的问题运行示例,它按预期工作:
import requests
from bs4 import BeautifulSoup
import re
html = requests.get("http://stackoverflow.com/questions/24416106/beautifulsoup4-find-all-tags-with-attribute-begins-with-a-string-in-python")
soup = BeautifulSoup(html.text)
http = soup.find('a', {'href':re.compile('^http')})
print http
产地:
<a data-gps-track="site_switcher.click({ item_type:6 })" href="http://chat.stackoverflow.com">chat</a>
如果您将^http
替换为^https
,您将获得一个a
标记,其中href
以https
开头
注意:为简单起见,我使用了find()
方法