京东商品评论自动采集【仅学习】

京东商品评论自动采集【仅学习】

▍ 方案特性说明

  • 技术参数:
    • 混合使用XPath定位(//div/ul/li)
    • 复合式CSS选择器翻页控制
  • 采集字段包含:
    用户身份地理信息时间戳产品特征评价数据五大维度
  • 输出格式:Excel直读CSV(utf-8-sig编码)

▍ 环境预配置要求

# 保持原始配置代码不变
from DrissionPage import ChromiumOptions

path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
ChromiumOptions().set_browser_path(path).savunxi

▍ 原生代码实现

# 导入模块
from DrissionPage import ChromiumPage
# 导入csv
import csv

# 创建文件
f = open('data.csv','w',encoding='utf-8-sig',newline='')
csv_writer = csv.DictWriter(f,fieldnames=[
            '昵称',
            '地区',
            '日期',
            '产品',
            '评分',
            '评论'
])
csv_writer.writeheader()

# 打开浏览器
dp = ChromiumPage()
# 监听数据包
dp.listen.start('https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=')
# 访问网页
dp.get('https://item.jd.com/10133431142245.html')
dp.ele('x://*[@id="detail"]/div[1]/ul/li[5]').click()
for page in range(1, 11):
    print(f'正在采集第{page}页的评论数据')
    # 等待数据包加载
    resp = dp.listen.wait()
    # 获取响应数据
    json_data = resp.response.body
    print(json_data)
    comments = json_data['comments']
    # 提取所需数据
    for index in comments:
        dict = {
            '昵称': index['nickname'],
            '地区': index['location'],
            '日期': index['creationTime'],
            '产品': index['productColor'],
            '评分': index['score'],
            '评论': index['content'],

        }
        print(dict)
        csv_writer.writerow(dict)

    # 翻页
    dp.ele('css:.ui-pager-next').click()

▍ 可研究方向

- [ ] 双实例初始化必要性验证
- [ ] 混合定位策略稳定性测试
- [ ] 接口参数动态生成机制
- [ ] 页面DOM结构版本适配

⚠️ 注意事项

  1. 遵守网站爬虫协议,控制请求频率
  2. 企业级反爬可能需添加sleep间隔
  3. CSS选择器随网站改版可能需要更新
  4. 推荐在本地环境先测试再正式运行

觉得有用请点赞 👍 收藏 ⭐ 关注 ➕


💡 免责声明:本代码仅限学习交流,不得用于商业用途,数据抓取请遵守网站相关规定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值