python爬取京东评论_Python如何爬取京东的评价信息
Python如何爬取京东的评价信息
模块:requests,BeautifulSoup
import re
import time
import csv
import requests
from bs4 import BeautifulSoup
def write_a_row_in_csv(data, csv_doc):
"save good information into a row in csv document"
with open(csv_doc, 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow(data)
# add headers, download page, check status code, return page
url = 'https://search.jd.com/Search?keyword=%E5%8D%8E%E4%B8%BAp20&enc=utf-8&suggest=1.def.0.V13&wq=%E5%8D%8E%E4%B8%BA&pvid=f47b5d05bba84d9dbfabf983575a6875'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
}
response = requests.get(url, headers=headers)
print(response.status_code)
# save as html document
with open('html.html', 'w', encoding='utf8') as f:
f.write(response.text)
# save as csv document
with open('phone.csv', 'w', newline='') as f:
writer = csv.writer(f)
fields = ('id', '名称', '价格', '评价人数', '好评率')
writer.writerow(fields)
# find elements, such as name, item, price, comment, goodrate, comment count
soup_all = BeautifulSoup(response.content, 'lxml')
sp_all_items = soup_all.find_all('li', attrs={'class': 'gl-item'})
for soup in sp_all_items[:3]:
print('-' * 50)
name = soup.find('div', attrs={'class': 'p-name p-name-type-2'}).find('em').text
print('name: ', name)
item = soup.find('div', attrs={'class': 'p-name p-name-type-2'}).find('a')
print('item: ', item['href'], re.search(r'(\d+)', item['href']).group())
price = soup.find_all('div', attrs={'class': 'p-price'})
print('price:', price[0].i.string)
comment = soup.find_all('div', attrs={'class': 'p-commit'})
print('comment url:', comment[0].find('a').attrs['href'])
time.sleep(0.2)
# need add referer into headers
item_id = re.search(r'(\d+)', item['href']).group()
url = f'https://sclub.jd.com/comment/productPageComments.action?productId={item_id}&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1'
headers = {
"referer": f"https://item.jd.com/{item_id}.html",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
}
response = requests.get(url, headers=headers)
with open('html.json', 'w', encoding='utf8') as f:
f.write(response.text)
data = response.json()
comment_count = data['productCommentSummary']['commentCount']
print('评价人数:', comment_count)
good_rate = data['productCommentSummary']['goodRate']
print('好评率:', good_rate)
# record data into CSV sheet
write_a_row_in_csv(('id'+item_id, name, price[0].i.string, comment_count, good_rate), 'phone.csv')
python爬取京东评论_Python如何爬取京东的评价信息相关推荐
- python爬取歌曲评论_python+requests爬取豆瓣歌曲评论
1 #-*- coding: utf-8 -*- 2 ''' 3 Created on 2018年8月14日4 5 @author: zww6 7 ''' 8 importtime9 importre ...
- python爬取微博评论_python爬虫抓取新浪微博数据
需求分析 微博主页 抓取的内容包括:微博发布的时间,正文(仅提取文字),转发数,评论数,点赞数 抓取的内容 数据是怎么加载的 新浪微博的数据是用ajax异步下拉加载的,在chrome的调试模式下可捕捉 ...
- python批量评论_python批量爬取京东手机评论信息及星级
本科生在读,如有问题欢迎指正 爬取京东评论信息:评论信息是动态加载的,所以在商品详情页不能直接爬取评论. 下面以一款手机为例,详细介绍python批量爬取京东评论. 找到评论区域 image.png ...
- python爬取歌曲评论_python 爬取歌曲评论的简单示例
这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. ...
- python爬虫京东评论_python爬京东评论
我,找回,密码了! 就是这个网址助我! # In[sy_final]: #!/usr/bin/python import requests import json #这个headers害惨了我,一定要 ...
- python爬取股票评论_Python爬虫股票评论,snowNLP简单分析股民用户情绪
原标题:Python爬虫股票评论,snowNLP简单分析股民用户情绪 一.背景 股民是网络用户的一大群体,他们的网络情绪在一定程度上反映了该股票的情况,也反映了股市市场的波动情况.作为一只时间充裕的研 ...
- python爬虫实例电商_Python实现爬取并分析电商评论
现如今各种APP.微信订阅号.微博.购物网站等网站都允许用户发表一些个人看法.意见.态度.评价.立场等信息.针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息.例如对商品评论的 ...
- python爬虫教材推荐 豆瓣_Python爬虫爬取豆瓣书籍数据
炎热的夏天,酷暑难挡,难免会心烦意燥,睡前随手拿起枕边看过很多遍的「平凡的世界」.看书,会让躁动的心瞬间安静下来. 生活不能等待别人来安排,要自己去争取和奋斗:而不论其结果是喜是悲,但可以慰藉的是,你 ...
- python 实时数据推送_python scrapy 爬取金十数据并自动推送到微信
一.背景 因业务需要获取风险经济事件并采取应对措施,但因为种种原因又疏忽于每天去查看财经日历,于是通过爬取金十数据网站并自动推送到微信查看. 二.目标实现 image 三.环境与工具 1.pychar ...
最新文章
- python绘制简单直方图-Python数据分析:统计函数绘制简单图形
- 案例分析 | 由Decimal操作计算引发的Spark数据丢失问题
- 使用Collections.emptyList()生成的List不支持add方法___Java Collections.emptyList方法的使用及注意事项
- 51. N皇后/52. N皇后 II
- Java设计模式1:设计模式概论
- spring component-scan配置扫描多个包
- 看好你的数据库连接字符串!
- 小米高通9008授权服务+Miflash(fh_loader.exe)脚本刷机_icloudelectron
- 【MPPT光伏】基于MPPT的光伏并网系统的simulink仿真
- 一行代码安装ROS/ROS2、解决rosdep问题、配置好环境
- SuperMap iClient3D for WebGL之BIM模型爆炸
- Gos —— 开启保护模式
- 如何利用R语言处理 缺失值 数据
- FRECO联盟探营:未来还看这些“小字辈”
- 浩鲸新智能解决方案工程师面试_【远景能源科技解决方案工程师面试】远景能源车轮战,一天几乎全部面完-看准网...
- python爬取新闻数据
- 神舟 linux支持内存插槽,关于在神舟电脑里折腾linux的诸多麻烦
- 使用Matlab+Simulink开发Cortex-M系列嵌入式处理器应用程序
- BUG克星:几款优秀的BUG跟踪管理软件
- MATLAB矩阵归一化
热门文章
- DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...
- reactnative 获取定位_[RN] React Native 获取地理位置
- oracle修改字符集
- 双曲函数奇偶性_基本初等函数之奇偶性(强基系列42)
- python怎么转到下一行_Python转到下一行并保存/编辑内容
- intention lock_写作技巧:你写出来的情节有用吗?好情节的原则——LOCK系统
- 2021年山西副高考试成绩查询,中国卫生人才网2021年山西卫生资格考试成绩查询...
- java 责任链模式 链表_责任链模式的实现及源码中应用
- 织梦cms生成首页html的php文件,织梦DedeCMS定时自动生成首页HTML的实现方法
- python文件封装成jar_【Python】Python文件打包为可执行文件