<li class="a-last"><a href="/macbook-pro">Buy Now</a></li>
如何提取类/macbook-pro
中的链接a-last
?效率是一个考虑因素。
答案 0 :(得分:1)
您可以这样做:
from bs4 import BeautifulSoup
html = """<li class="a-last"><a href="/macbook-pro">Buy Now</a></li>"""
soup = BeautifulSoup(html, 'html.parser')
href = soup.find('li', {'class': 'a-last'}).find('a').get('href')
print(href)
结果:
/macbook-pro
答案 1 :(得分:1)
一种可能性是CSS选择器:
data = '''<li class="a-last"><a href="/macbook-pro">Buy Now</a></li>'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'lxml')
print(soup.select_one('li.a-last [href]')['href'])
打印:
/macbook-pro
li.a-last [href]
将选择属性为href
的标签,该标签位于<li>
类别为a-last
的标签下。
如果您想更具体一点,并且只想直接提取<a>
下的<li class="a-last">
标签 ,可以使用:
print(soup.select_one('li.a-last > a[href]')['href'])
答案 2 :(得分:0)
这是所有必需的href的列表:
[el.find('a').get('href') for el in soup.find_all('li', {'class': 'a-last'})]