2024-10-03 11:15:26 发布
网友
我使用的是Django和python3.7。我想使用BeautifulSoup和SoupStrainer在文档中查找具有属性的特定元素。但是如果属性包含破折号,我该怎么做呢?我想这样做
my_strainer = SoupStrainer('a', data-id="aaa")
但这会导致错误
Can't assign to function call
抱怨“data id”属性。如果我把“dataid”改为“id”,那么一切都会运行,但是我得不到想要的结果。你知道吗
你可以像这样通过
my_strainer= SoupStrainer('a',{'data-id':'aaa'})
data-*和其他这样的属性应该像documentation中提到的那样传递。你知道吗
data-*
样品
html=""" <html class="test"> <a data-id='aaa'>yes</a> <a>No</a> <span>no</span> </html> """ from bs4 import BeautifulSoup from bs4 import SoupStrainer my_strainer= SoupStrainer('a',{'data-id':'aaa'}) soup=BeautifulSoup(html, "lxml", parse_only=my_strainer) print(soup)
输出
<a data-id="aaa">yes</a>
你可以像这样通过
data-*
和其他这样的属性应该像documentation中提到的那样传递。你知道吗样品
输出
相关问题 更多 >
编程相关推荐