Python爬虫爬取京东某商品评论信息存入mysql数据库
1 """
2 https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100006852812&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1
3 page=0&pageSize=10
4 """
5 import json
6 from datetime import time
7 from random import randint
8
9 import pymysql
10 import requests
11 #连接数据库 获取游标
12 def get_conn():
13 """
14 :return: 连接,游标
15 """
16 # 创建连接
17 conn = pymysql.connect(host="127.0.0.1",
18 user="root",
19 password="000429",
20 db="info",
21 charset="utf8")
22 # 创建游标
23 cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示
24 if ((conn != None) & (cursor != None)):
25 print("数据库连接成功!游标创建成功!")
26 else:
27 print("数据库连接失败!")
28 return conn, cursor
29 #关闭数据库连接和游标
30 def close_conn(conn, cursor):
31 if cursor:
32 cursor.close()
33 if conn:
34 conn.close()
35 return 1
36
37 def jd_spider():
38 headers = {
39 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
40 }
41 res_data = [] #最终返回的数据
42 temp_data=[] #中间数据
43 for page_num in range(6,50):
44 url=f'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100006852812&score=0&sortType=5&page={page_num}&pageSize=1&isShadowSku=0&fold=1'
45 # 发起请求
46 response = requests.get(url, headers=headers)
47 response.encoding='GBK'
48 # 获取响应
49 res_text = response.text
50 # print(res_text)
51 new_res_text=res_text[20:-2]
52 # print(new_res_text)
53 res_json=json.loads(new_res_text)
54 # print(type(res_json)) #<class 'dict'>
55 comments=res_json['comments']
56 # print(comments[0])
57 comments_dict=comments[0]
58 # print(comments_dict.keys())
59 temp_data.append(comments_dict['id'])
60 temp_data.append(comments_dict['content'])
61 temp_data.append(comments_dict['creationTime'])
62 temp_data.append(comments_dict['referenceTime'])
63 temp_data.append(comments_dict['days'])
64 flag_isMobile=randint(0,1)
65 flag_userLevel=randint(0,1)
66 temp_data.append(flag_isMobile)
67 temp_data.append(flag_userLevel)
68 res_data.append(temp_data)
69 print(str(page_num),temp_data)
70 insert_jd(res_data)
71 temp_data=[]
72 res_data=[]
73 return
74
75 #插入
76 def insert_jd(data):
77 """
78 插入imdb数据
79 :return:
80 """
81 cursor = None
82 conn = None
83 try:
84 # list_=[]
85 # list = jd_spider()
86 # if(type(list)!=type(list_)):
87 # return -1
88 conn, cursor = get_conn()
89 sql = "insert into jd_comments(id,content,creationTime,referenceTime,days,flag_isMobile,flag_userLevel) values(%s,%s,%s,%s,%s,%s,%s)"
90 for item in data:
91 try:
92 print(item)
93 cursor.execute(sql, [item[0], item[1], item[2], item[3], item[4], item[5], item[6]])
94 except pymysql.err.IntegrityError:
95 print("出现错误!")
96 conn.commit() # 提交事务 update delete insert操作
97 finally:
98 close_conn(conn, cursor)
99 return
100
101 if __name__ == '__main__':
102 jd_spider()


id, 评论id
content, 评论
creationTime, 评论时间
referenceTime, 确认收货时间
days, 评论时间距【收货/下单】时间多长时间
isMobile(0 1) , 是否移动端(0 PC端,1 移动端)
userLevel(0 1) 用户等级(1会员,0非会员)
Python爬虫爬取京东某商品评论信息存入mysql数据库的更多相关文章
- python爬虫爬取京东、淘宝、苏宁上华为P20购买评论
爬虫爬取京东.淘宝.苏宁上华为P20购买评论 1.使用软件 Anaconda3 2.代码截图 三个网站代码大同小异,因此只展示一个 3.结果(部分) 京东 淘宝 苏宁 4.分析 这三个网站上的评论数据 ...
- Python爬虫-爬取京东商品信息-按给定关键词
目的:按给定关键词爬取京东商品信息,并保存至mongodb. 字段:title.url.store.store_url.item_id.price.comments_count.comments 工具 ...
- JS+Selenium+excel追加写入,使用python成功爬取京东任何商品~
之前一直是requests库做爬虫,这次尝试下使用selenium做爬虫,效率不高,但是却没有限制,文章是分别结合大牛的selenium爬虫以及excel追加写入操作而成,还有待优化,打算爬取更多信息 ...
- Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
- 毕设二:python 爬取京东的商品评论
# -*- coding: utf-8 -*- # @author: Tele # @Time : 2019/04/14 下午 3:48 # 多线程版 import time import reque ...
- 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程
项目内容 本案例选择>> 商品类目:沙发: 数量:共100页 4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. ...
- Python 爬虫-爬取京东手机页面的图片
具体代码如下: __author__ = 'Fred Zhao' import requests from bs4 import BeautifulSoup import os from urllib ...
- <爬虫>利用BeautifulSoup爬取百度百科虚拟人物资料存入Mysql数据库
网页情况: 代码: import requests from requests.exceptions import RequestException from bs4 import Beautiful ...
- python 爬虫爬取历年双色球开奖信息
目前写的这些爬虫都是些静态网页,对于一些高级网页(像经过JS渲染过的页面),目前技术并不能解决,自己也是在慢慢学习过程中,如有错误,欢迎指正: 对面前端知识本人并不懂,过程中如果涉及到前端知识,也是百 ...
- python制作爬虫爬取京东商品评论教程
作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计图表,非常的细致,有需要的小伙伴可以参考下 ...
随机推荐
- 使用DeskPins工具钉住窗口
需求 我们经常一边看着PDF或视频教程,一边又打开一个文本编辑器/word/markdown编辑器在做一些笔记.问题是有时候呀需要来回切换(alt+tab)窗口,时间长了其实费时费力,这是一名工程师无 ...
- OCP试题解析之052-- DROP PROFILE app_user
133.You created a profile APP_USER and assigned it to the users. After a month, you decide to drop t ...
- Mysql一张表可以存储多少数据
Mysql一张表可以存储多少数据 在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB.同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL的数据页大小是16KB.(确切 ...
- win32 - ReadDirectoryChangesW的使用
任务:创建一个进程,并在进程内创建一个文本,再创建另一个进程来监控第一个进程内的文本变化 //Process 1 #include <windows.h> #include <ios ...
- 【LeetCode二叉树#15】二叉搜索树中的众数(递归中序遍历)
二叉搜索树中的众数 力扣题目链接(opens new window) 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 假定 BST 有如下定义: 结点左子树 ...
- [软件工程] CMMI是什么?
序 能力成熟度模型集成(CMMI) 一.CMMI(能力成熟度模型集成)概述 CMMI是由美国软件工程学会(software engineering institue,简称SEI)制定的一套专门针对软件 ...
- 启动Study.BlazorOne项目
由于Study.Trade模块的Blazor是基于国内著名的BootstrapBlazor组件,因此Study.BlazorOne项目也必须添加对BootstrapBlazor的支持. # 1.去Bo ...
- 【Azure 服务总线】向服务总线发送消息时,返回错误代码Error code : 50009
问题描述 使用Java SDK向服务总线(Service Bus)发送消息时,返回这个错误: org.springframework.jms.UncategorizedJmsException: Un ...
- 详解SSL证书系列(4)免费的SSL证书和收费的证书有什么区别
上一篇介绍了如何选择SSL证书,更多地是从证书类型角度介绍的.SSL证书有免费和收费的,那么它们之间有什么区别呢? SSL证书免费和收费的主要区别体现在以下几个方面: 1,验证类型 免费SSL证书通常 ...
- .Net缓存之MemoryCahe
1. MemoryCahe NetCore中的缓存和System.Runtime.Caching很相似,但是在功能上做了增强,缓存的key支持object类型:提供了泛型支持:可以读缓存和单个缓存项的 ...