使用PAR从Span中提取内联数据

2024-09-30 01:33:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望能够从内联范围中提取一些数据,但在获取数据时遇到困难

下面是代码部分,我正在尝试获取数据分数=“5”。该编号将根据客户的评论而变化

HTML部分:

<span aria-label="5 star review" class="jdgm-rev__rating" data-score="5" tabindex="0">

Python3中有人帮助过我的部分可以提取一个类选择器,但希望获取非类的数据

部分Python代码:

with requests.Session() as s:
    r = s.get(start_url).json()
    soup = bs(r['html'], 'lxml')
    ratings.extend([i.text for i in soup.select('.jdgm-rev__rating')])
    titles.extend([i.text for i in soup.select('.jdgm-rev__title')])
    total_pages = int(soup.select_one('.jdgm-paginate__last-page')['data-page'])

Tags: 数据代码textinfordatapagerev
1条回答
网友
1楼 · 发布于 2024-09-30 01:33:42

您要寻找的是跨度的属性

>>> from bs4 import BeautifulSoup
>>> 
>>> soup = BeautifulSoup('<p><span aria-label="5 star review" class="jdgm-rev__rating" data-score="5" tabindex="0">')
>>> soup.find('span').attrs
{'aria-label': '5 star review', 'class': ['jdgm-rev__rating'], 'data-score': '5', 'tabindex': '0'}
>>> 
>>> int(soup.find('span').attrs['data-score'])
5

相关问题 更多 >

    热门问题