当前位置: 首页 > news >正文

python爬虫获取手机评论数据 - f

以下是包含 JSON文件存储功能 的完整代码,已标注好你需要修改的3处核心位置(用 # 需修改 标注):

import requests
from bs4 import BeautifulSoup
import time
import json  # 新增:用于写入JSON文件# 1. 配置请求头(模拟浏览器,避免被识别为爬虫)
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",  # 需修改:替换成你自己的User-Agent"Referer": "https://item.jd.com/"
}# 2. 定义抓取函数(单页评论)
def get_phone_comments(page, product_id):# 京东评论接口url = f"https://club.jd.com/comment/productPageComments.action?productId={product_id}&score=0&sortType=5&page={page}&pageSize=10"try:time.sleep(1.5)  # 延迟,反爬response = requests.get(url, headers=headers)response.raise_for_status()  # 捕获请求错误data = response.json()# 提取评论核心信息comments = []for comment in data["comments"]:comment_info = {"用户": comment["nickname"],"评分": comment["score"],"评论时间": comment["time"],"评论内容": comment["content"].strip()}comments.append(comment_info)return commentsexcept Exception as e:print(f"第 {page+1} 页抓取失败:{str(e)}")return []# 3. 主程序(多页抓取 + 写入JSON)
if __name__ == "__main__":# 核心配置:3处需修改的位置product_id = "100062815823"  # 需修改:替换成目标手机的商品IDtotal_pages = 5  # 需修改:调整要抓取的总页数(建议先1-2页测试)json_file_name = "手机评论数据.json"  # 可选修改:自定义JSON文件名称all_comments = []# 循环抓取多页for page in range(total_pages):print(f"正在抓取第 {page+1} 页...")page_comments = get_phone_comments(page, product_id)all_comments.extend(page_comments)# 打印抓取结果print(f"\n抓取完成!共获取 {len(all_comments)} 条手机评论")# 写入JSON文件with open(json_file_name, "w", encoding="utf-8") as f:json.dump(all_comments, f, ensure_ascii=False, indent=2)print(f"评论已保存到【{json_file_name}】(与代码文件同一目录)")

再次明确需你手动修改的3处(缺一不可)

  1. User-Agent:百度搜索“我的User-Agent”,复制当前浏览器的标识,替换代码中对应的值(避免被识别为爬虫)。
  2. product_id:打开京东目标手机商品页,从URL中提取数字ID(如 https://item.jd.com/123456789.html 中的 123456789),替换示例ID。
  3. total_pages:根据需求调整页数(如想抓3页就改成 3),初期建议先设为 1 测试是否能正常生成JSON文件。
http://www.zskr.cn/news/83789.html

相关文章:

  • 嚴重似情侶講分手
  • 总结咯
  • 上手RAG 四步构建最小可行系统(MVP) - yi
  • LORA温湿度传感器如何赋能六大行业?揭秘无线环境监测的落地新范式
  • 基于SpringBoot+Vue的洋州影院购票管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • COMSOL介电金属多层膜结构宽谱吸收器:文献复现与吸收特性研究
  • miniconda anaconda下载
  • 双向RRT算法求解路径规划问题
  • Fortran 的英文数字验证码识别系统设计与实现
  • 如何找書
  • 面试必问:如何快速定位BUG?BUG定位技巧及N板斧!
  • 如何啓動一個本地服務
  • ROS2节点和话题
  • Wan2.2-T2V-A14B如何生成带有烟花绽放效果的节日庆典视频?
  • Jetson Secure Boot 完整实战指南:从 Fuse Key → Boot Chain → 验签代码路径的源码级解析
  • 5分钟快速上手MONAI 2D扩散模型:医学图像生成的终极指南
  • 程序员转行到大模型开发领域,以下是几个推荐的方向、推荐原因以
  • 机器学习基础(线性,逻辑回归)
  • Windows11制作docker linux-arm64镜像
  • Wsappx进程异常占用的深度解析与修复方案
  • 【2025必看】AI Agent技术全解析:从概念到开发框架的全面指南(建议收藏)
  • 2025年12月乌兹别克斯坦EAC认证,SGR认证,OTTC认证公司推荐,综合服务能力与资质解析 - 品牌鉴赏师
  • VS2022二次元背景板痛改教程!
  • 山西临汾卤制品制作技艺的技术路径分析
  • 2025最新的电子实验记录本软件,引领科研数字化变革的智能中枢
  • 12月11日日记
  • 【量子机器学习调试终极指南】:手把手教你用VSCode攻克QML代码难题
  • PyMe是一款面向大众的可视化低代码Python开发工具
  • Ubuntu系统火狐浏览器配置http代理
  • 1-Year XTOOL D9S PRO Update: Latest Diagnostics for European/American Mechanics Car Owners