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数据库的更多相关文章

  1. python爬虫爬取京东、淘宝、苏宁上华为P20购买评论

    爬虫爬取京东.淘宝.苏宁上华为P20购买评论 1.使用软件 Anaconda3 2.代码截图 三个网站代码大同小异,因此只展示一个 3.结果(部分) 京东 淘宝 苏宁 4.分析 这三个网站上的评论数据 ...

  2. Python爬虫-爬取京东商品信息-按给定关键词

    目的:按给定关键词爬取京东商品信息,并保存至mongodb. 字段:title.url.store.store_url.item_id.price.comments_count.comments 工具 ...

  3. JS+Selenium+excel追加写入,使用python成功爬取京东任何商品~

    之前一直是requests库做爬虫,这次尝试下使用selenium做爬虫,效率不高,但是却没有限制,文章是分别结合大牛的selenium爬虫以及excel追加写入操作而成,还有待优化,打算爬取更多信息 ...

  4. Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  5. 毕设二:python 爬取京东的商品评论

    # -*- coding: utf-8 -*- # @author: Tele # @Time : 2019/04/14 下午 3:48 # 多线程版 import time import reque ...

  6. 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程

    项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. ...

  7. Python 爬虫-爬取京东手机页面的图片

    具体代码如下: __author__ = 'Fred Zhao' import requests from bs4 import BeautifulSoup import os from urllib ...

  8. <爬虫>利用BeautifulSoup爬取百度百科虚拟人物资料存入Mysql数据库

    网页情况: 代码: import requests from requests.exceptions import RequestException from bs4 import Beautiful ...

  9. python 爬虫爬取历年双色球开奖信息

    目前写的这些爬虫都是些静态网页,对于一些高级网页(像经过JS渲染过的页面),目前技术并不能解决,自己也是在慢慢学习过程中,如有错误,欢迎指正: 对面前端知识本人并不懂,过程中如果涉及到前端知识,也是百 ...

  10. python制作爬虫爬取京东商品评论教程

    作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计图表,非常的细致,有需要的小伙伴可以参考下 ...

随机推荐

  1. Oracle代码封装工具和DBMS_DDL包的使用

    The WRAP Utility and the DBMS_DDL Package On occasion it is necessary to hide (obfuscate) your PL/SQ ...

  2. Vue+SpringBoot+ElementUI实战学生管理系统-3.表结构设计

    1.章节介绍 前一篇介绍了如何搭建前端工程,这一篇讲一下表结构设计,需要的朋友可以拿去自己定制.:) 2.获取源码 源码是捐赠方式获取,详细请QQ联系我 :)! 3.项目截图 登录页 列表操作 动态图 ...

  3. Oracle 分析函数详解(Analytic Functions)--示例部分

    Analytic functions are commonly used in data warehousing environments. In the list of analytic funct ...

  4. junit多个测试方法共享变量

    本文介绍利用类的静态属性实现junit多个测试方法间共享同一变量值. package com.laoxu.gamedog; import org.junit.Test; /** * @author x ...

  5. html基础和js基础

    HTML基础 html文件结构 <!DOCTYPE html> 文档类型声明 <html lang="en"></html> 是html标签,称 ...

  6. 运行Study.Trade模块的Web.Unified.Host

    1.把Web.Host的项目设置为启动项目 上一篇文章报错,因为npm功能没有安装,导致Web.Unified.Host的wwwroot下没有libs目录. 2.默认是在IIS Express中承载 ...

  7. 【Azure 应用服务】Azure Function (PowerShell) 执行时报错 "out of memory"

    问题描述 在Azure Function App服务中,创建一个PowerShell脚本的函数,遇见了OOM(Out Of Memory)的异常报错: 2022-01-10T07:44:37 Welc ...

  8. GitHUb上渗透测试工具

    来自GitHub的系列渗透测试工具渗透测试 Kali - GNU / Linux发行版,专为数字取证和渗透测试而设计.(https://www.kali.org/)ArchStrike - 为安全专业 ...

  9. Android Studio 有关 setOnClickListener() 方法的总结

    •前言 在 Android Studio 开发中,你会经常和这种代码打交道: 1 package com.example.activitytest; 2 public class FirstActiv ...

  10. Sagas论文原文读后总结

    一.引子 分布式事务组件seata最近社区很活跃,刚好公司有对接seata的计划.刚好借此机会,彻底了解下seata的价值.其中有一个比较特殊的模式叫SAGA模式,听起来就很懵逼,按照官网的介绍起源于 ...