You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

requests-html的r.html.find仅返回1条数据 如何获取指定数量多条结果

解决方案

requests-html 的 find() 方法不传 first=True 参数时,会返回所有匹配指定选择器的元素对象列表,你可以对列表做切片控制爬取数量,再遍历提取内容即可,示例代码如下:

# 1. 获取页面中所有匹配的评论标题元素
all_review_items = r.html.find('strong.reviews__item-title')
# 2. 定义要爬取的评论数量,比如前3条
fetch_count = 3
# 3. 遍历切片后的列表提取文本
review_title_list = []
for item in all_review_items[:fetch_count]:
    review_title_list.append(item.text)

# 也可以用列表推导式简化写法
review_title_list = [item.text for item in all_review_items[:3]]

如果运行后拿不到评论内容,说明该站点的评论是前端动态渲染生成的,你可以在调用find()前先执行渲染操作:

# 等待页面动态内容渲染完成,可选指定等待时间
r.html.render(sleep=2)

内容的提问来源于stack exchange,提问作者lanavargas2002

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 03:06:02