python 真好玩

# !-*-coding:utf-8-*-
# ! 2019/3/6 13:51
# !@Author:Cy 2019 03
# !@File:jdsk.py
import os
import time
import json
import datetime
import requests
import reurl="https://item.jd.com/7293066.html#askAnswer"class Crawl(object):def __init__(self):'''说明:类初始化操作'''self.headers={'Accept':'*/*','Accept-Encoding':'gzip,deflate,br','Accept-Language':'zh-CN,zh;q=0.9','User-Agent':'Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/71.0.3578.80Safari/537.36','Referer':'https://miaosha.jd.com/category.html'}f_dir= os.getcwd()f_name='京东秒杀%s.json'%str(datetime.datetime.now().date())print("爬虫_QQ小招 自检完成,初始化成功" + f_dir + f_name)self.path= os.path.join(f_dir, f_name)self.fp = open(self.path,'w',encoding='utf-8')self.fp.write('[\n')print("准备进入主函数")def crawl(self,url,cate):#爬虫print('进入爬虫函数,现在采集',cate,'这类')url='https://ai.jd.com/index_new'data = {'app': 'Seckill','action': 'pcSeckillCategoryGoods','callback': 'pcSeckillCategoryGoods','id': self.category_id[cate],'_': int(time.time())}res=self.response_handler(url,data)res=res.text#print(res)re1=r'pcSeckillCategoryGoods\((.*?)\);'aaa=re.findall(re1,res,re.S | re.M)#print(aaa[0])datas=json.loads(aaa[0]).get('goodsList',[])#print(datas)items=self.parse(datas)for item in items:#print(item)self.witer(item)def response_handler(self,url,data):#向拼好的链接发post请求,返回requestsprint('开始构造响应')res=requests.post(url=url,data=data,headers=self.headers)print('构造响应成功')return  resdef parse(self,res):#解析返回的res,形成结构化数据#print("开始解析数据")#print(res)items = []for data in range(len(res)):#print(res[data]['wname'])#.split(' ')[0:3]#print(res[data]['miaoShaPrice'])item={}item[res[data]['wname']]= res[data]['miaoShaPrice']items.append(item)#print(items)print('解析数据完成')return itemsdef witer(self,item):#print('存入数据',item)date = json.dumps(item, ensure_ascii=False)print('存入数据',date)self.fp.write(date+',\n')def close(self):self.fp.write(']')self.fp.close()print('采集完成!数据存储在%s' % self.fp)print('完成爬虫')def main(self):url="https://miaosha.jd.com/category.html"print(url)self.category_id={'电脑办公':29,'生活电器':19,'手机通讯':30,'大家电':25,'智能数码':31,'饮料酒水':45,'家居家装':37,'母婴童装':43,'食品生鲜':44}print("进入主函数了")for cate in self.category_id.keys():print(cate,self.category_id[cate])#print('准备爬%s类 链接为%s'%cate,self.category_id[cate])self.crawl(url,cate)self.close()if __name__ == '__main__':c=Crawl()c.main()

Python 爬取京东秒杀商品名称和价格相关推荐

  1. [爬虫-python]爬取京东100页的图书(机器学习)的信息(价格,打折后价格,书名,作者,好评数,差评数,总评数)

    Python爬取京东的机器学习类图书的信息 一,配置搜索关键字和页数, 二,查找用到的三个URL的过程 1. 搜索图书的URL 2. 评论总数,差评数,好评数的URL 3. 当前价格与打折前价格URL ...

  2. Python爬取京东任意商品数据实战总结

    利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据 ...

  3. python爬虫用什么电脑好_【Python】【爬虫】最近想买电脑,用Python爬取京东评论做个参考...

    最近想换电脑,又有点不确定买哪一款.所以决定爬取京东上电脑评论,做个参考,并把最终结果绘制成词云图. 一.先来看下三款电脑评价的词云图 1 用Python爬取京东自营ThinkPad T490s的评论 ...

  4. Python爬取京东书籍信息(包括书籍评论数、简介等)

    Python爬取京东书籍信息(包括书籍评论数.简介等) 一. 工具 二. 准备爬取的数据 三. 内容简述 四. 页面分析 (一) 寻找目录中商品所在标签 (二) 寻找页面中能爬取到的所有数据 (三) ...

  5. Python爬取京东商品信息

    *使用Python爬取京东华为手机前十页的所有商品的链接.名称.价格.评价数以及店铺名称. 1.前期准备 (1)下载驱动 我使用的是谷歌浏览器,所以要下载谷歌驱动,用来告诉电脑在哪打开浏览器. 驱动文 ...

  6. 【Python爬虫】最近想买电脑,用Python爬取京东评论做个参考

      最近想换电脑,又有点不确定买哪一款.所以决定爬取京东上电脑评论,做个参考,并把最终结果绘制成词云图.    一.先来看下三款电脑评价的词云图    1 用Python爬取京东自营ThinkPad ...

  7. Python爬虫教程:Python爬取京东商城商品大图详解

    Python爬取京东商城商品大图详解 做为一个爬虫初学者,在做爬取网址图片的练习中以京东网为例爬取商品大图并保存在相应的文件夹 1.导入模块 import urllib.request import ...

  8. python爬取京东python书籍信息

    python爬取京东python书籍信息 直接上代码镇宅......................... 需要用到的库:requests lxml pymongo 需要安装这些库,并且配置好mong ...

  9. Python爬取京东商品评论数据

    一.前言 本文将承接笔者的上篇文章Python爬取京东商品数据,使用京东商品唯一id字段"sku"拼接url,得到真实的京东商品评论网址,进而解释数据并保存到文件中,所爬取到的数据 ...

最新文章

  1. Linux0.11内核引导启动过程概述
  2. After Effects CC2019安装教程
  3. echarts搭配MySQL_Echarts连接Mysql使用心得
  4. poj3666(DP+离散化)
  5. vue开发(1) 软件安装
  6. 中小企业如何实现在家研发软件?看这个就够了
  7. 【Python】深入理解Python函数的9个黄金法则
  8. python中星号变量的几种特殊用法
  9. Java 开发环境配置 win10
  10. 使用maven创建web项目
  11. 在不确定的世界,如何应对风险
  12. asp.mvc 基本知识
  13. poj 无向图最小环问题 详解,模板
  14. linux 如何开启shell,linux下开启Shell命令
  15. 统计机器学习-1-统计机器学习基础
  16. mysql动态脱敏查询_数据库动态脱敏
  17. 什么是SYN包 以及SYN攻击原理
  18. 洛谷-P1957-口算练习题
  19. Git拉取远程最新代码,并与当前分支合并
  20. 基于51单片机的交通灯仿真方案原理图设计一个数码管

热门文章

  1. 让梦想照进现实,js 基础收尾工作-运动框架基本写法演化3
  2. 基于Python实现的图像相似度检测
  3. fetch和ajax的区别?
  4. 地图算法之点是否在圆内
  5. html用表单做登录页面跳转页面,html表单实例:登录页面
  6. checkbox的value和checked属性详解
  7. 支付宝沙箱测试-ALI40247
  8. php计件工资,宇阳计件工资管理系统
  9. RabbitMQ消费消息坑:failed to convert serialized Message content
  10. 错误记录——Serialized class com.cql.entity.Teacher must implement java.io.Serializable