>>> soup_brand
<a data-role="BRAND" href="/URL/somename">
Some Name
</a>
>>> type(soup_brand)
<class 'bs4.BeautifulSoup'>
>>> print(soup_brand.get('href'))
None
文档如下:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
嗨,来自世界各地的人们, 是有人现在出了什么问题,还是我瞄准的对象有误?
需要获取 href。
答案 0 :(得分:1)
为了应用 ['href']
,对象必须是 <bs4.Element.Tag>
。
所以,试试这个:
string = \
"""
<a data-role="BRAND" href="/URL/somename">
Some Name
</a>
"""
s = BeautifulSoup(string)
a_tag = s.find('a')
print(a_tag["href"])
出
/URL/somename
或者如果您有多个 a
标签,您可以试试这个:
a_tags = s.findAll('a')
for a in a_tags:
print(a.get("href"))
出
/URL/somename
答案 1 :(得分:1)
你试过了吗:
soup.find_all(name="a")
或
soup.select_one(selector="a")
也应该可以赶上
all_anchor_tags = soup.find_all(name="a")
for tag in all_anchor_tags:
print(tag.get("href")) #prints the href element of each a tag, thus each link
尽管我遇到的所有 bs4 都寻找多个元素(我们在这里有一个循环的原因),但 bs4 有时在捕捉事物方面更好,如果你给它一个搜索所有方法然后迭代元素>