作者 | 菜园子哇

编辑 | 唐小引

来源 | CSDN 博客

马上上班了,回来的路上,上班地铁上都是非常急需口罩的。

目前也非常难买到正品、发货快的口罩,许多药店都售完了。

并且,淘宝上一些新店口罩库存写着非常多,但不发货,不是骗钱就是采集个人信息,销量都非常高几 W 几十 W 的销量。而在京东上,即使有到货通知,但往往还没等到通知就被抢购完了。

这时,就轮到我 Python 爬虫出马了!

时刻帮我盯着京东是否到货,到货马上邮件通知!接下来,就让我们一起看 Python 爬虫如何帮你时刻盯着到货通知,并最终自动下单。

第一步:Python 爬虫到货通知

首先,我们先来看几个效果展示:

无货展示

有货展示

代码如下:

'''jd旗舰店检查到货
'''import requests
import time# 有货通知 收件邮箱
mail = 'xxxxx@qq.com'
# 商品的url
url = ['https://c0.3.cn/stock?skuId=100011293950&area=19_1607_4773_0&venderId=1000078145&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery4173314','https://c0.3.cn/stock?skuId=34424081673&area=19_1607_3639_0&venderId=656282&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery7815511','https://c0.3.cn/stock?skuId=14567560031&area=6_318_320_44149&venderId=70651&buyNum=1&choseSuitSkuIds=&cat=9847,13533,13534&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580535906442142991701&ch=1&callback=jQuery660434','https://c0.3.cn/stock?skuId=100011293952&area=19_1607_4773_0&venderId=1000078145&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery5497502','https://c0.3.cn/stock?skuId=11300307432&area=2_2824_51916_0&venderId=646174&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery4188953',
]def sendMail(url):import smtplibfrom email.mime.text import MIMEText# email 用于构建邮件内容from email.header import Header# 用于构建邮件头# 发信方的信息:发信邮箱,QQ 邮箱授权码from_addr = 'xxxxxxxx@qq.com'password = 'alpsneahzhawbfgj'# 收信方邮箱to_addr = mail# 发信服务器smtp_server = 'smtp.qq.com'# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码msg = MIMEText(url + ' 有口罩啦', 'plain', 'utf-8')# 邮件头信息msg['From'] = Header(from_addr)msg['To'] = Header(to_addr)msg['Subject'] = Header('有口罩啦')# 开启发信服务,这里使用的是加密传输server = smtplib.SMTP_SSL(host=smtp_server)server.connect(smtp_server, 465)# 登录发信邮箱server.login(from_addr, password)# 发送邮件server.sendmail(from_addr, to_addr, msg.as_string())# 关闭服务器server.quit()flag = 0
while (1):try:session = requests.Session()session.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/531.36","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3","Connection": "keep-alive"}print('第' + str(flag) + '次 ' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))flag += 1for i in url:# 商品urlskuidUrl = 'https://item.jd.com/' + i.split('skuId=')[1].split('&')[0] + '.html'response = session.get(i)# print('有货啦! 有货啦! 有货啦! : ' + skuidUrl)# sendMail(skuidUrl)if (response.text.find('无货') > 0):print('无货 : ' + skuidUrl)else:print('有货啦! 有货啦! 有货啦! : ' + skuidUrl)sendMail(skuidUrl)time.sleep(5)except Exception as e:import tracebackprint(traceback.format_exc())print('异常')time.sleep(10)

修改的地方:

主要修改的是以下两个地方,完成后就可以实时监控了。

收发件邮箱修改成自己的,可以阅读这篇 CSDN 博文:《Python 实现自动发送邮件》,https://blog.csdn.net/LeoPhilo/article/details/89074232。

第二个是,要监控的商品 URL。

Google Chrome 浏览器按 F12 打开,点击需要的商品和所在的地区,找到这个 stock 开头的 URL,复制、修改或者添加在下方。

在此提醒一下大家,注意不要把频率调得太高,避免被京东反爬虫。

第二步,如何实现自动下单爬虫?

有了到货之后,又如何实现自动下单呢,并且还能够避免抢购,程序自动一次只买一件?

在完成第一步的基础上,我们进入到第二步,自动下单爬虫。

自动下单所需 Cookie 获取:

  • 修改位置

  • 获取方式

(1)打开 Google Chrome,登录京东。

(2)按 F12 进入我的订单页面,过滤出 list.action url。

(3)请求下滑找到 cookie 然后复制,在代码里面修改就行。

最后,预祝大家都能抢到口罩,身体健康开工!

更多细节,可阅读 CSDN 博主「菜园子哇」系列文章:

买不到口罩,京东到货通知不靠谱,python爬虫帮你时刻盯着

https://blog.csdn.net/cyz52/article/details/104114438

京东口罩爬虫,到货通知爬虫,自动下单爬虫、python爬虫第二篇

https://blog.csdn.net/cyz52/article/details/104177981

京东口罩爬虫、使用教程、第三篇

https://blog.csdn.net/cyz52/article/details/104239558

【end】

精彩推荐

推荐阅读

  • 福利直达!CSDN技术公开课评选进行中

  • 一文告诉你,如何使用Python构建一个“谷歌搜索”系统 | 内附代码

  • 利用丁香园数据生成疫情分布地图(R语言)| 博文精选

  • 小米 10 年再创业,高端 5G 手机和 AIoT 有多少机会?

  • 在家办公,我比上班还累你信吗?

  • 2019年度区块链安全复盘总结

  • 你点的每个“在看”,我都认真当成了AI

买不到口罩怎么办?Python爬虫帮你时刻盯着自动下单!| 原力计划相关推荐

  1. python爬虫怎么挣钱_买不到口罩怎么办?Python爬虫帮你时刻盯着自动下单!| 原力计划...

    作者 | 菜园子哇编辑 | 唐小引来源 | CSDN 博客马上上班了,回来的路上,上班地铁上都是非常急需口罩的.目前也非常难买到正品.发货快的口罩,许多药店都售完了.并且,淘宝上一些新店口罩库存写着非 ...

  2. 买不到口罩怎么办?Python 爬虫帮你时刻盯着自动下单!| 原力计划

    作者 | 菜园子哇 责编 | 唐小引 头图 | 下载自东方 IC 出品 | CSDN 博客 马上上班了,回来的路上,上班地铁上都是非常急需口罩的. 目前也非常难买到正品.发货快的口罩,许多药店都售完了 ...

  3. 买不到口罩,京东到货通知不靠谱,python爬虫帮你时刻盯着

    买不到口罩,京东到货通知不靠谱,python小爬虫帮你盯着 效果展示 无货展示 有货展示 撸代码 修改的地方 马上上班了,回来的路上,上班地铁上都是非常急需口罩的 目前也非常难买到正品,发货快的口罩. ...

  4. 利用 Python 制作酷炫的飞船大战!|原力计划

    作者 | AI进阶者 责编 | 郭芮 出品 | CSDN 博客 本文用Python来实现一个飞船大战的游戏,话不多说,直入主题! 创建飞船类 import pygame from pygame.spr ...

  5. 如何用 Python 将 Excel 表格转成可视化图形?| 原力计划

    作者 | Waao666 责编 | 王晓曼 出品 | CSDN 博客 前言 大家知道,考研很大一部分也是考信息收集能力.每年往往有很多人就是在这上面栽跟头了,不能正确分析各大院校往年的录取信息,进而没 ...

  6. Python爬虫帮你抢秒杀

    什么是爬虫? 网络爬虫又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. 简单来讲,爬虫就是一个探测机器 ...

  7. 用python画机器猫代码_如何用Python画一只机器猫?| 原力计划

    原标题:如何用Python画一只机器猫?| 原力计划 作者 | 人邮异步社区 责编 | 胡巍巍 出品 | CSDN博客 自信心是成功的源泉,对刚入门编程行业的初级程序员来说,多敲代码多做项目就是构建自 ...

  8. 最受欢迎 Top 12 Python 开源框架,你都用过吗?| 原力计划

    作者 | 学Python的阿勇 责编 | 夕颜 出品 | CSDN博客 今天给大家带来了12个在GitHub等开源网站中最受欢迎的Python开源框架.如果你正在学习python,那么这12个开源框架 ...

  9. 哪些人在听 60 亿流量《惊雷》?Python 告诉你 | 原力计划

    作者 | 听不来喊麦的C君 来源 | CSDN博客 惊雷/通天修为/天塌地陷紫金锤 紫电/玄真火焰/九天玄剑惊天变 这看起来不着边际的歌词,配上简单粗暴的蹦迪音乐. 最近,一首<惊雷>的喊 ...

最新文章

  1. iOS开发之UIWindow
  2. 线性表的表示和实现方式之链式表示和实现
  3. visio如何扩大画布的大小. 鼠标移到画布的边界按住Ctrl,就可以拉大
  4. SAP License:SAP问题二则
  5. 电脑死机大全,看完你就是高手了
  6. java线程的状态改变(练习)
  7. JAVA毕设项目图书馆预约占座系统(java+VUE+Mybatis+Maven+Mysql)
  8. java if判断是否相等_java使用if语句判断字符串是否相等的方法
  9. java加载so包,undefined symbol处理方法
  10. 百度司南是什么产品?
  11. 实现微信浏览器内打开App Store链接
  12. Java枚举—枚举初识
  13. 麦当劳巨无霸汉堡合作超人气动漫《机动战士高达》
  14. Exploratory Social Network Analysis with Pajek(第三版)8
  15. 红米笔记本linux系统版本,一招让你的手机拥有三系统甚至四系统: WINDOWS+安卓+Linux...
  16. 微信小程序-地区选择伪五级联动(选择国,省,市,县,镇)
  17. 《headfirst设计模式》读书笔记9-迭代器和组合模式
  18. 【30】GPU(上):为什么玩游戏需要使用GPU?
  19. linux usleep函数,linux下,测试usleep函数对CPU占用率的影响
  20. http报文格式、GET与POST的区别

热门文章

  1. Spring Boot 和 testNG 和 eclipse背景色
  2. 数位dp(求1-n中数字1出现的个数)
  3. 演示:思科IPS在线模式下Inline Interface Mode的响应行为(区别各个防御行为)
  4. qinyu.blog.51cto.com里的好文章,比尔盖茨
  5. Lucene.Net 2.3.1开发介绍 —— 三、索引(六)
  6. SpringBoot自动配置的原理及实现
  7. 精美的电路图都是怎么画出来的?
  8. nlohmann/json使用笔记
  9. 《数据科学家养成手册》--第十一章算法学2---(非监督,监督贝叶斯概率以及损失函数)
  10. Storm 0.9安装指南