主要使用的库:

requests:爬虫请求并获取源码
re:使用正则表达式提取数据
json:使用JSON提取数据
pandas:使用pandans存储数据

##sqlalchemy :备用方案,上传数据到mysql

以下是源代码:

# -*- coding:utf-8 -*-
import requests
import re
import random
import time
import json
import pymysql
from sqlalchemy import create_engine
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import pandas as pd
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)  ###禁止提醒SSL警告class jd(object):def __init__(self):self.s = requests.session()   ## 创建一个session对象headers = {'accept':'application/json, text/javascript, */*; q=0.01','accept-encoding':'gzip, deflate, br','User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',}self.s.headers.update(headers)   ### 设置请求头#self.engine = create_engine('mysql+pymysql://root:123456@192.168.0.1:3306/jd')   ##存储到SQLdef getdata(self,url,name):getdate=time.strftime("%Y-%m-%d",time.localtime())self.shopid=re.search('index-(.*?).html',url).group(1)    ###获取店铺ID号self.s.get('https://shop.m.jd.com/search/search?shopId='+str(self.shopid))for i in range(1,10000):   ###爬取页数范围   没有找到商品后会自动退出循环wareId_list = []wname_list = []jdPrice_list = []time.sleep(random.random())  ##随机延时0-1秒t = int(time.time() * 1000)##           https://wqsou.jd.com/search/searchjson?datatype=1&page=2&pagesize=40&merge_sku=yes&qp_disable=yes&key=ids%2C%2C121614&_=1537524375713&sceneval=2&g_login_type=1&callback=jsonpCBKQ&g_ty=lssearchurl = 'https://wqsou.jd.com/search/searchjson?datatype=1&page={}&pagesize=40&merge_sku=yes&qp_disable=yes&key=ids%2C%2C{}&_={}&sceneval=2&g_login_type=1&callback=jsonpCBKA&g_ty=ls'.format(i,self.shopid,t)  ##请求数据网址print(searchurl)req=self.s.get(url=searchurl,verify=False).text   ###获取数据print(req)print(name,i)wareId=re.findall('"wareid": "(.*?)",',req)   ##获取商品IDwname=re.findall('"warename": "(.*?)",',req)    ###获取商品名称jdPrice=re.findall('"dredisprice": "(.*?)",',req)    ###获取商品价格if wareId==[]:    ###如果没有找到ID退出循环break#####处理数据wareId_list.extend(wareId)wname_list.extend(wname)jdPrice_list.extend(jdPrice)wareId_l=len(wareId_list)name_list=[]name_list.append(name)name_list.extend(name_list*(wareId_l-1))getdate_list = []getdate_list.append(getdate)getdate_list.extend(getdate_list * (wareId_l - 1))jddata={'name':name_list,'wareId':wareId_list,'wname':wname_list,'jdPrice':jdPrice_list,'update': getdate_list}df = pd.DataFrame(data=jddata)df.to_csv(r'e:\jdmall.csv',  index=False, encoding="GB18030")     ###保存csv文件#df.to_sql('店铺前端', con=self.engine, if_exists='append', index=False)  ##上传到数据库if __name__ == '__main__':j=jd()url='https://mall.jd.com/index-1000000693.html'nm='intel'j.getdata(url,nm)

【腾讯云】11.11 云上盛惠,云产品限时抢购,1核2G云服务器首年88元

python爬虫爬取京东店铺商品价格数据(更新版)相关推荐

  1. 利用python爬虫爬取京东商城商品图片

    笔者曾经用python第三方库requests来爬取京东商城的商品页内容,经过解析之后发现只爬到了商品页一半的图片.(这篇文章我们以爬取智能手机图片为例) 当鼠标没有向下滑时,此时查看源代码的话,就会 ...

  2. python爬取京东商品价格走势,python爬取京东店铺商品价格数据(已过期)

    # -*- coding:utf-8 -*- import requests import re import random import time import json from requests ...

  3. python爬虫爬取天猫店铺商品数据

    #!coding=utf-8 import requests import re import random import time import json from requests.package ...

  4. python爬取天猫,python如何爬取天猫店铺商品链接?

    在使用python爬虫爬取网页时会遇到很多含有特殊符号的情况,当把链接复制到浏览器打开,发现每个节点都多了个\,直接使用response.xpath()无法定位元素,为避免定位不到元素的问题,应先对响 ...

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

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

  6. python爬虫爬取京东商品评价_网络爬虫-爬取京东商品评价数据

    前段时间做商品评价的语义分析,需要大量的电商数据,于是乎就自己动手爬取京东的数据.第一次接触爬虫是使用selenium爬取CNKI的摘要,基于惯性思维的我仍然想用selenium+Firefox的方法 ...

  7. python爬虫爬取京东商品评价_python爬取京东商品信息及评论

    ''' 爬取京东商品信息: 功能: 通过chromeDrive进行模拟访问需要爬取的京东商品详情页(https://item.jd.com/100003196609.html)并且程序支持多个页面爬取 ...

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

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

  9. python爬虫爬取京东_Python爬虫学习 爬取京东商品

    1. 本节目标 以抓取京东 App 的商品信息和评论为例,实现 Appium 和 mitmdump 二者结合的抓取.抓取的数据分为两部分:一部分是商品信息,我们需要获取商品的 ID.名称和图片,将它们 ...

最新文章

  1. 《Javascript高级程序设计》读书笔记之继承
  2. 提供MapXtreme 2004 6.2 NCP破解文件及安装方法(已经不能提供了,等待破解最新的吧)...
  3. 2014\Province_C_C++_A\1 猜年龄
  4. MongoDB-集群搭建
  5. c语言程序设计黄保和第二章,C语言程序设计答案(黄保和编)第6章
  6. Erlang库 -- 有意思的库汇总
  7. 联想gen系列服务器,Hpe Microserver Gen10 Plus开箱
  8. 【OJ】洛谷暴力枚举题单题解锦集
  9. 我慕了!腾讯大手一挥,员工买房最高可申请免息借款90万
  10. JAVA获取sjis文件乱码_下载文件时,文件名乱码。 | 学步园
  11. iOS 抓包工具限免,速度下载!【附使用教程】
  12. 华为服务器系统图标,监控服务器图标
  13. 信息系统服务器搬迁,系统搬迁方案
  14. 魔兽三界血歌鸿蒙武器怎么合成,《伏魔战记》关于武器材料出处以及合成以及对一些武器的使用心的...
  15. 局域网,手机与电脑文件共享
  16. 解决Win10下安装Winpcap失败
  17. Teams Bot App 代码解析
  18. nodejs+vue 蛋糕甜品商城系统
  19. Navicat使用指南(一)
  20. 前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)

热门文章

  1. 华为手机里的计算机怎么设置,简单十步设置Huawei Share,手机与电脑传输从此告别数据线-华为手机怎么连接电脑...
  2. Theia 拓展开发常用代码总结
  3. 15条经典的英语绕口令
  4. 图像识别的深度残差学习
  5. 无人值守称重系统将称重带入一个新时代
  6. MacPro查看WIFI密码
  7. 直达通你身边的营销专家
  8. 通用单口RJ45种类
  9. 解决 QRibbon 在VS+Qt 环境下的编码报错问题 “文本后缀无效; 未找到文文本运算符或文本运算符模板“
  10. LOL服务器维护打排位算吗,英雄联盟最特殊的五个大区,最后一个等一天都不能开一局排位!...