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如何爬取京东的评价信息相关推荐

  1. python爬取歌曲评论_python+requests爬取豆瓣歌曲评论

    1 #-*- coding: utf-8 -*- 2 ''' 3 Created on 2018年8月14日4 5 @author: zww6 7 ''' 8 importtime9 importre ...

  2. python爬取微博评论_python爬虫抓取新浪微博数据

    需求分析 微博主页 抓取的内容包括:微博发布的时间,正文(仅提取文字),转发数,评论数,点赞数 抓取的内容 数据是怎么加载的 新浪微博的数据是用ajax异步下拉加载的,在chrome的调试模式下可捕捉 ...

  3. python批量评论_python批量爬取京东手机评论信息及星级

    本科生在读,如有问题欢迎指正 爬取京东评论信息:评论信息是动态加载的,所以在商品详情页不能直接爬取评论. 下面以一款手机为例,详细介绍python批量爬取京东评论. 找到评论区域 image.png ...

  4. python爬取歌曲评论_python 爬取歌曲评论的简单示例

    这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. ...

  5. python爬虫京东评论_python爬京东评论

    我,找回,密码了! 就是这个网址助我! # In[sy_final]: #!/usr/bin/python import requests import json #这个headers害惨了我,一定要 ...

  6. python爬取股票评论_Python爬虫股票评论,snowNLP简单分析股民用户情绪

    原标题:Python爬虫股票评论,snowNLP简单分析股民用户情绪 一.背景 股民是网络用户的一大群体,他们的网络情绪在一定程度上反映了该股票的情况,也反映了股市市场的波动情况.作为一只时间充裕的研 ...

  7. python爬虫实例电商_Python实现爬取并分析电商评论

    现如今各种APP.微信订阅号.微博.购物网站等网站都允许用户发表一些个人看法.意见.态度.评价.立场等信息.针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息.例如对商品评论的 ...

  8. python爬虫教材推荐 豆瓣_Python爬虫爬取豆瓣书籍数据

    炎热的夏天,酷暑难挡,难免会心烦意燥,睡前随手拿起枕边看过很多遍的「平凡的世界」.看书,会让躁动的心瞬间安静下来. 生活不能等待别人来安排,要自己去争取和奋斗:而不论其结果是喜是悲,但可以慰藉的是,你 ...

  9. python 实时数据推送_python scrapy 爬取金十数据并自动推送到微信

    一.背景 因业务需要获取风险经济事件并采取应对措施,但因为种种原因又疏忽于每天去查看财经日历,于是通过爬取金十数据网站并自动推送到微信查看. 二.目标实现 image 三.环境与工具 1.pychar ...

最新文章

  1. python绘制简单直方图-Python数据分析:统计函数绘制简单图形
  2. 案例分析 | 由Decimal操作计算引发的Spark数据丢失问题
  3. 使用Collections.emptyList()生成的List不支持add方法___Java Collections.emptyList方法的使用及注意事项
  4. 51. N皇后/52. N皇后 II
  5. Java设计模式1:设计模式概论
  6. spring component-scan配置扫描多个包
  7. 看好你的数据库连接字符串!
  8. 小米高通9008授权服务+Miflash(fh_loader.exe)脚本刷机_icloudelectron
  9. 【MPPT光伏】基于MPPT的光伏并网系统的simulink仿真
  10. 一行代码安装ROS/ROS2、解决rosdep问题、配置好环境
  11. SuperMap iClient3D for WebGL之BIM模型爆炸
  12. Gos —— 开启保护模式
  13. 如何利用R语言处理 缺失值 数据
  14. FRECO联盟探营:未来还看这些“小字辈”
  15. 浩鲸新智能解决方案工程师面试_【远景能源科技解决方案工程师面试】远景能源车轮战,一天几乎全部面完-看准网...
  16. python爬取新闻数据
  17. 神舟 linux支持内存插槽,关于在神舟电脑里折腾linux的诸多麻烦
  18. 使用Matlab+Simulink开发Cortex-M系列嵌入式处理器应用程序
  19. BUG克星:几款优秀的BUG跟踪管理软件
  20. MATLAB矩阵归一化

热门文章

  1. DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...
  2. reactnative 获取定位_[RN] React Native 获取地理位置
  3. oracle修改字符集
  4. 双曲函数奇偶性_基本初等函数之奇偶性(强基系列42)
  5. python怎么转到下一行_Python转到下一行并保存/编辑内容
  6. intention lock_写作技巧:你写出来的情节有用吗?好情节的原则——LOCK系统
  7. 2021年山西副高考试成绩查询,中国卫生人才网2021年山西卫生资格考试成绩查询...
  8. java 责任链模式 链表_责任链模式的实现及源码中应用
  9. 织梦cms生成首页html的php文件,织梦DedeCMS定时自动生成首页HTML的实现方法
  10. python文件封装成jar_【Python】Python文件打包为可执行文件