简单爬虫,爬取某东某商品评论前十页

商品链接地址:【博世四坑5系 6x100x160】博世(BOSCH)四坑5系(1支装)圆柄两坑两槽混凝土钻头 6x100x160mm【行情 报价 价格 评测】-京东

首先抓包,用搜索框搜索评论,看评论在哪个包中

为了好看筛选出含评论的包

点击下一页,观察包所需的参数, 发现参数只有页码和时间戳在变动,其他的是不变的。为多页采集打下伏笔。

注意:由于是登录后才看到的数据,所以请求头必须带上cookie。

代码展现:

import time
import csv
import requests
import random
f = open('京东评论.csv','w',encoding='utf-8',newline='')
csv_writer = csv.DictWriter(f,fieldnames=[
'用户名',
                'id',
                '地区',
                '评论内容',
                '评分',
                '发布时间',
                '产品名称',
])
csv_writer.writeheader()
for page in range(11):
    time.sleep(random.randint(1,2))
    time_stamp = round(time.time()*1000)
    url = f'https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t={time_stamp}&loginType=3&uuid=181111935.1930210335.1708610333.1709306254.1711849783.4&productId=4196453&score=0&sortType=5&page={page}&pageSize=10&isShadowSku=0&rid=0&fold=1&bbtf=&shield='

    headers = {
        "Cookie":"__jdu=1930210335; shshshfpa=50f375eb-d40e-875b-b12e-60f25c558f68-1708833205; shshshfpx=50f375eb-d40e-875b-b12e-60f25c558f68-1708833205; pinId=TE2ybcOoPKG8rrYc3tjSZQ; pin=jd_EqEAJlJpFMdo; unick=jd_EqEAJlJpFMdo; _tp=RWXTruHLzClu1Jr8dalxnA%3D%3D; _pst=jd_EqEAJlJpFMdo; unpl=JF8EAJlnNSttXBlQAxkAS0ZHQ19QWwgOSB4DPzAMA1gKTlYCElVIExN7XlVdWBRKFR9tZxRVVVNOXA4eBysSEXteU11bD00VB2xXXAQDGhUQR09SWEBJJVlQXl4ITxcFZ2A1ZF5Ye1QEKwITEBFIXVVcXwx7FjNoVzVkW15LXAAfMhoiEXsfAAJaCkkWBWsqBVxfWUhUBBkAHyIRe14; __jdv=76161171|haosou-search|t_262767352_haosousearch|cpc|5512151796_0_5c5733aef9354d7281af8f4c4368fb02|1711849782659; 3AB9D23F7A4B3CSS=jdd03ACXEBVQFK5CENBAAIJBFXEVTJJLASPPEJFZ3OCGW4XMUIJOJEFOYFJW65TOP4KLW5NUCXDZJI6EZMVMZZBGCGSTDK4AAAAMOSIZMZYQAAAAACNODVDBW2XGC7AX; areaId=16; PCSYCityID=CN_350000_350200_0; jsavif=1; mba_muid=1930210335; mba_sid=17118498046253294520777664478.1; wlfstk_smdl=ruq378izoxctsf68q0moa62n09avs0vk; 3AB9D23F7A4B3C9B=ACXEBVQFK5CENBAAIJBFXEVTJJLASPPEJFZ3OCGW4XMUIJOJEFOYFJW65TOP4KLW5NUCXDZJI6EZMVMZZBGCGSTDK4; TrackID=1ImlE8evpOBJ-A7TfoaTf1rj17ecUqX_rFVmKW5koLDJ-z-hPF891kXrl_pPR-Vl_OreLzXiFrIAlSNa8u7EJ7VljgDRFlmcDgDwXDVtoQzc; thor=14A2BF46C9D373164FD5F0F0853ABB0A32213C0D7A122DF30D8F8EE5ABA85119CD6D2E7F58BC88478FAC27561ACEA557C5AF3D3C9CAB12D8AFC18C78B4F2604EEB88104BDCC0E46B424C96FF4A7BF4919F39CE2A6B9F05A3AE1F3EC169975EA6EDD572EACAF20DBB2F06C7747B18EEA871EB8163C380EE4669DD2B3C63E22684C9C584434F1270A149839B8B75B5037818D994C78A8099CD96DCEDFE2B6C1282; flash=2_MuVfxCqVzUYO62kneu2pLOLP0HXmZ_vy1NhBv2n_l3cJIO_SbKDwIGmxmM6TrJuMScbxB0IM961Talmbo9UN9HMSu9bQ-0b_g6iIVbVOGXP*; ceshi3.com=000; token=1b7217805648cce5b01ea895ad9a9580,3,951027; __tk=047903b7493ced1bbf22203c719a07f2,3,951027; __jda=181111935.1930210335.1708610333.1709306254.1711849783.4; __jdc=181111935; ipLoc-djd=16-1315-3486-59641; __jdb=181111935.7.1930210335|4.1711849783; shshshfpb=BApXeo-o8ketABdv7Jklp7wPnCYXnkz6yBkrCNSpg9xJ1MguCx4O2",
        "Referer":"https://item.jd.com/",
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    }

    response = requests.get(url=url,headers=headers)
    response.encoding = response.apparent_encoding
    for index in response.json()['comments']:
        try:
            dit = {
                '用户名':index['nickname'],
                'id':index['id'],
                '地区':index['location'],
                '评论内容':index['content'],
                '评分':index['score'],
                '发布时间':index['creationTime'],
                '产品名称':index['referenceName'],
            }
        except:
            dit = {
                '用户名': index['nickname'],
                'id': index['id'],
                '地区': '未知',
                '评论内容': index['content'],
                '评分': index['score'],
                '发布时间': index['creationTime'],
                '产品名称': index['referenceName'],
            }
        print(dit)
        csv_writer.writerow(dit)

结果展现:

注意:保存在csv中时,打开会出现乱码,有人能解决吗。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/506025.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python - 深度学习系列31 - ollama的搭建与使用

说明 做这个的主要目的是为了搭建Langchain的本地环境,使用LangChain让LLM具备调用自定义函数的功能。 内容 1 安装server 以下将ollama的安装方式,以及使用做一个简单的说明(记录)。之前对这个工具没有了解,只是从快速实践的…

【python】pip清华大学镜像

1、修改pip源为清华源: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2、结果是自动给我创建了一个文件: 3、打开这个文件所在的文件夹: 4、打开文件: 5、如果不想指定清华的,就删掉…

微信小程序引导组件【添加到我的小程序】

微信小程序引导组件,点击按钮,弹窗引导用户【添加到我的小程序】 源代码 https://ext.dcloud.net.cn/plugin?id17303

算法学习——LeetCode力扣图论篇3(127. 单词接龙、463. 岛屿的周长、684. 冗余连接、685. 冗余连接 II)

算法学习——LeetCode力扣图论篇3 127. 单词接龙 127. 单词接龙 - 力扣(LeetCode) 描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> … -> sk: 每一对相…

动态内存管理-错题合集讲解

空指针的解应用操作(错误信息合集) 越界访问 首先我们上一个代码,看看这个的代码的问题 这个代码的问题显而易见 ,就是在循环里面,产生了越界访问的问题,这里你开辟了10个整形空间,但是从0-1…

爬虫的验证码处理

1.我们先进入chrome浏览器的审查页面找到input方法: 为了不少找到一个input,我们ctrlf的方法输入input来查找 看见我们有6个需要输入的参数。 除了上面几个的input参数,我们还需要获取验证码的图片,后续要将字母填入进去。 二.安…

XDMA windos 编译

1、先安装 Visual Studio 2019 2、Download the Windows Driver Kit (WDK) - Windows drivers | Microsoft Learn 以前的 WDK 版本和其他下载 - Windows 驱动程序 |Microsoft学习 注意版本:下载2004的版本 3、 选择使用10.0.19041.0 安装这个sdk. 先按vs2019 然后…

后端SpringBoot+Mybatis 查询订单数据库奇怪报错加一

排错过程: 看报错意思是SQL语句存在错误,然后使用图形化工具运行这个SQL语句 其实这里稍微细心想一下就能发现问题,但是当时没深入想,就觉得order表前加了数据库名字影响不大,所以感觉SQL语句是没问题的,然…

HarmonyOS实战开发-一次开发,多端部署-视频应用

介绍 随着智能设备类型的不断丰富,用户可以在不同的设备上享受同样的服务,但由于设备形态不尽相同,开发者往往需要针对具体设备修改或重构代码,以实现功能完整性和界面美观性的统一。OpenHarmony为开发者提供了“一次开发&#x…

【Java与数学】若不等式x^2-a*x+a<0的解集中恰有3个整数,求a的范围?

【分析】 既然不等式存在解集,说明一元二次方程x^2-a*xa0有解; 解之间横跨三个整数,说明Δ大于0; 三个整数必然是连续的,因为f(x)x^2-a*xa最多只与x存在两个交点,这是题设里的隐含条件。 【传统解法】 …

2024 3.23~3.29周报

上周工作 SVInvNet论文研读 本周计划 加入DenseNet,修改网络架构,跑代码 总结 DenseNet 密集块:DenseNet将网络分成多个密集块(Dense Block)。在每个密集块内,每一层都连接到前面所有的层。这种跳跃连接有助于解…

Mac m1 Flink的HelloWorld

首先在官方下载Downloads | Apache Flink 下载好压缩包后解压,得到Flink文件夹 进入:cd flink-1.19.0 ls 查看里面的文件: 执行启动集群 ./bin/start-cluster.sh 输出显示它已经成功地启动了集群,并且正在启动 standalonesessio…

Vue ElementPlus Input输入框

Input 输入框 通过鼠标或键盘输入字符 input 为受控组件,它总会显示 Vue 绑定值。 通常情况下,应当处理 input 事件,并更新组件的绑定值(或使用v-model)。否则,输入框内显示的值将不会改变。不支持 v-mode…

Oracle 低代码平台 Apex 最新版本 23.2 安装过程

趁春节快结束前,安装了一把APEX ,到目前为此,APEX最新版本为23.2,23.2和21版本有一些变化,只是用于验证,我 是使用的单独模式,没有安装TOMAT,下面列一下安装过程: 1.环境…

机器学习——最优化模型

最优化模型的概述: 从某种程度上说,我们的世界是由最优化问题组成的。每一天,我们的生活都面临无数的最优化问题:上班怎么选择乘车路线,才能舒服又快速地到达公司;旅游如何选择航班和宾馆,既省…

[flink 实时流基础] 转换算子

flink学习笔记 数据源读入数据之后,我们就可以使用各种转换算子,将一个或多个DataStream转换为新的DataStream。 文章目录 基本转换算子(map/ filter/ flatMap)聚合算子(Aggregation)按键分区(…

【隐私计算实训营006隐语PIR介绍及开发实践】

1. 隐语实现PIR总体介绍 隐匿查询(Private Information Retrieval PIR)定义 按服务器数量分类 单服务器方案(Single Server)多服务器方案(Multi-Server) 按查询类型分类 Index PIRKeyword PIR 隐语目前…

基于两个单片机串行通信的电子密码锁设计

1.功能 电子号码锁在实际应用中应该有两部分,一部分在外部,有键盘部分和密码显示;另一部分内部,设置密码、显示密码。使用单片机自身带有的串口可以很方便的实现单片机之间的通信,使输入的密码值传送到主机检验是否是…

nginx的https与动态负载均衡

nginx的https 证书可以根据你的域名和服务器服务商去进行签发 , 比如 : 阿里云 腾讯云 百度云 华为云等 这里使用的是腾讯云 : 下载证书 : 选择 nginx: 下载之后传递到服务器上。 下面开始配置nginx的https: 1. 解压下载的证书包 cd /etc/ssl unzip xxcc.dwa_nginx.zip mv…

【A-010】基于SSH的宠物狗商城系统(含论文)

【A-010】基于SSH的宠物狗商城系统(含论文) 开发环境: Eclipse/MyEclipse、Tomcat8、Jdk1.8 数据库: MySQL 项目介绍: 在科学技术飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道&am…