使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)

这篇文章主要介绍了使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用),需要的朋友可以参考下
全国抗”疫”这么久终于见到曙光,在家待了将近一个月,现在终于可以去上班了,可是却发现出门必备的口罩却一直买不到。最近看到京东上每天都会有口罩的秒杀活动,试了几次却怎么也抢不到,到了抢购的时间,浏览器的页面根本就刷新不出来,等刷出来秒杀也结束了。现在每天只放出一万个,却有几百万人在抢,很想知道别人是怎么抢到的,于是就在网上找了大神公开出来的抢购代码。看了下代码并不复杂,现在我们就报着学习的态度一起看看。
使用模块

requests:类似 urllib,主要用于向网站发送 HTTP 请求。

beautifulsoup4:HTML 解析器,用于将 HTML 文档转换成一个复杂的树形结构。

pillow:Python 图像处理标准库,用于识别验证码

配置文件
一般项目中我们都需要把一些可配置的内容放到配置文件中,现在我们来看下这里主要配置项:

邮寄地所属地区ID

area = 123456

这是配置的商品的ID

skuid = 6828101

打码服务器的地址

captchaUrl = http://xxx/pic

通知邮箱

mail = xxxxxx@qq.com

cookie的设置

cookies_String = shshshfpa21jsda8923892949204923123

OK,有了配置文件,那我们就得有一段读取配置文件的代码,这段代码实现将配置内容加载到内存中。

import os
import configparser
# 加载配置文件
class Config(object):
  def __init__(self, config_file='configDemo.ini'):
    self._path = os.path.join(os.getcwd(), config_file)
    if not os.path.exists(self._path):
      raise FileNotFoundError("No such file: config.ini")
    self._config = configparser.ConfigParser()
    self._config.read(self._path, encoding='utf-8-sig')
    self._configRaw = configparser.RawConfigParser()
    self._configRaw.read(self._path, encoding='utf-8-sig')
  def get(self, section, name):
    return self._config.get(section, name)
  def getRaw(self, section, name):
    return self._configRaw.get(section, name)

主程序模块
我看 GitHub 上也有实现了运行程序后通过京东 App 扫码登陆,然后再通过登陆 Cookie 访问网站的,不过这里并没有使用这种方式,毕竟我们打开浏览器开发者工具也能很容易获取到登陆的 Cookie,这里就是将 Cookie 直接放到配置文件里的方式。

# 主程序入口
# 检查是否存在要抢购的端口,然后进入循环扫描
if len(skuids) != 1:
  logger.info('请准备一件商品')
skuId = skuids[0]
flag = 1
# 循环扫描该商品是否有货,有库存即会自动下单,无库存则休眠后继续扫描
while (1):
  try:
    # 初始化校验
    if flag == 1:
      logger.info(
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值