我有以下内容:
<div id="header-author" class="some random class">
<a id="author-text" class="some random class" href="/page?id=232">
<span class="some random class">
Hello there
</span>
</a>
我只想提取id =&#34; author-text&#34;的href属性。 我不能使用类来提取,因为该类被其他具有href链接但我不想提取的元素使用
我试过这个
soupeddata = BeautifulSoup(my_html_code, "html.parser")
my_data = soupeddata.find_all("a", id= "author-text")
for x in my_data:
my_href = x.get("href")
print(my_href)
提前感谢您,一定会upvote /接受答案!
答案 0 :(得分:0)
使用此:
my_data = soupeddata.find_all('a', attrs = {'id': 'author-text'})
您还可以在dict中传递class
属性。
来自BeautifulSoup documentation:
某些属性(如HTML 5中的data- *属性)具有名称 不能用作关键字参数的名称:
data_soup = BeautifulSoup('<div data-foo="value">foo!</div>') data_soup.find_all(data-foo="value") # SyntaxError: keyword can't be an expression
您可以通过放置它们来在搜索中使用这些属性 进入字典并将字典传递给find_all()as attrs论点:
data_soup.find_all(attrs={"data-foo": "value"}) # [<div data-foo="value">foo!</div>]