首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提取具有特定类的<li>标记下的链接?

如何提取具有特定类的<li>标记下的链接?
EN

Stack Overflow用户
提问于 2019-08-14 08:13:22
回答 3查看 591关注 0票数 0
代码语言:javascript
复制
<li class="a-last"><a href="/macbook-pro">Buy Now</a></li>

如何提取类/macbook-pro中的链接a-last?效率是一个考虑因素。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-14 08:17:54

一种可能是CSS选择器:

代码语言:javascript
复制
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'])

指纹:

代码语言:javascript
复制
/macbook-pro

li.a-last [href]将选择属性为href的标记,该标记位于带有类a-last<li>标记下。

如果您希望更具体,并且只希望在<a>下直接提取<li class="a-last">标记,则可以使用:

代码语言:javascript
复制
print(soup.select_one('li.a-last > a[href]')['href'])
票数 1
EN

Stack Overflow用户

发布于 2019-08-14 08:17:16

你可以这样做:

代码语言:javascript
复制
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)

结果:

代码语言:javascript
复制
/macbook-pro
票数 1
EN

Stack Overflow用户

发布于 2019-08-14 08:26:14

这是所有需要的参考文献的清单:

[el.find('a').get('href') for el in soup.find_all('li', {'class': 'a-last'})]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57490743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档