一、首先,19.9元抢购是京东吸引顾客的,最后反正强盗也是上百块,坑爹

二、利用Selenium做抢购的话能看到物品,用post请求就需要解析页面,获取参数信息,再模拟登录,但是自己就不能实时了解物品详情吧,所以我选择了第一种,第二种也不难,F12可以知道需要哪些参数,直接解析就可以

三、说说验证码吧,个人觉得简单点做,要么手动看着网页输入,要么解析出验证码路径,请求并保存图片在本地,然后自动打开图片,再手动输入。难点做就是提取图片的像素点,进行排序,然后自动帮你输入验证码,只要最后目的能抢到东西的方法就是好方法

四、有图有真相

五、该上代码了

# coding=utf-8
"""
@author:SoS
@data:2018/4/3
@version:Python3.6
"""
import requests
from datetime import datetime
import time
from PIL import Image
from selenium import webdriverclass jd():def __init__(self):self.driver = webdriver.Firefox()def request_jd(self):user_name = input("请输入用户名\n")pwd = input("请输入密码\n")self.driver.maximize_window()self.driver.get("https://www.jd.com/")time.sleep(1)self.driver.find_element_by_class_name("link-login").click()time.sleep(1)self.driver.find_element_by_link_text("账户登录").click()self.jd_cookies = self.driver.get_cookies()self.driver.find_element_by_id("loginname").send_keys(user_name)self.driver.find_element_by_id("nloginpwd").send_keys(pwd)try:self.driver.find_element_by_css_selector(".btn-img.btn-entry").click()time.sleep(0.5)print("需要输入验证码")# 可能有验证码captcha = self.request_capture()print("验证码",captcha)time.sleep(0.5)self.driver.find_element_by_id("authcode").send_keys(captcha)time.sleep(0.5)self.driver.find_element_by_css_selector(".btn-img.btn-entry").click()except:print("验证码")self.driver.get("https://item.jd.com/4255683.html")time.sleep(1)self.driver.find_element_by_id("InitCartUrl")try:self.driver.find_element_by_id("btn-onkeybuy").click()except :# 没有货了,继续刷30次count = 0while count < 30:self.driver.get("https://item.jd.com/4255683.html")try:# 抢购self.driver.find_element_by_id("choose-btn-ko").click()except:count+=1self.driver.find_element_by_id("order-submit").click()time.time(1)print("over")# 获取验证码并把图片显示出来def request_capture(self):headers = {"Referer":"https://www.jd.com/","User_Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/53"}try:capture_url = self.driver.find_element_by_css_selector("#JD_Verification1").get_attribute("src2")# capture_url = capture_url + "&yys="+str(int(time.time()))print(capture_url)session = requests.Session();# cookies = requests.utils.cookiejar_from_dict(self.cookies_to_dict(),cookiejar=None, overwrite=True)# session.cookies = cookiesresponse = session.get("https:"+capture_url, headers=headers, allow_redirects=False)with open("captcha.jpg","wb") as f:print(type(response.content))f.write(response.content)f.close()im = Image.open("captcha.jpg")im.show()im.close()captcha = input("请输入验证码\n")return captchaexcept:print("无验证码")return input("请输入验证码\n")# Selenium cookies 转换成字典类型设置给 requestsdef cookies_to_dict(self):cookie =[item["name"] + ":" + item["value"] for item in self.jd_cookies]cookies = ';'.join(item for item in cookie) cook_map = {}for item in cookie :str = item.split(':')cook_map[str[0]] = str[1]return cook_mapif __name__ == "__main__":jd = jd()jd.request_jd()

六、源码地址

源码地址和驱动地址,为什么选火狐,因为它没版本限制呀,谷歌的话浏览器版本和驱动版本一定得映射对。

驱动配置:将下载好的驱动放在D:\Python36下,然后添加到系统Path中

利用Selenium 登录京东,抢购19.9的荣耀手环3相关推荐

  1. selenium登录 京东滑动验证码

    京东的滑动验证码在页面上是没有原图的,所有我是用ps把他们拼成一个的. from selenium import webdriver from selenium.webdriver import Ac ...

  2. python selenium登录企名片,筛选各种条件,爬虫爬取融资信息,保存到csv文件

    要点:1.利用datatime构建 日期,设定格式 2.利用selenium 登录账号,input等待需要输入的验证码 3.可以利用scrapy的Selector,替代beautifysoup 得到想 ...

  3. 双十一到啦,Python教你如何自动登录京东,在线抢购商品

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 小雨 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...

  4. 利用selenium携带cookies实现免登录

    前面爬虫系列我在介绍中谈到过Javascript进行渲染的界面,普通的请求是无法获取关键代码块的. selenium确实是个神器,但是越来越多的网站也对selenium进行了识别和通过登录方式进行了限 ...

  5. 【网站密码管理不用愁】基础篇 • 利用selenium构建网站密码管理和自动登录神器

    文章目录 一.项目背景 二.前置必懂知识 [01]selenium基础知识 [02]了解HTML和CSS 三.用Python和selenium实现 [01]实现访问网站 [02]定位目标元素 四.Pa ...

  6. 利用selenium模拟自动登录链家、贝壳、安居客等网站(超级实用,推荐收藏!)

    大家好, 今天跟大家分享一个利用selenium模拟自动登录王连某家.an聚客等网站. 文章内容超级实用,尽快在小本本上记录下来哟. 特别说明,以下代码仅用于交流学习,不做其他商业用途,切记切记! 上 ...

  7. 京东抢购失败?试试用 python 准时自动抢购 (注释详尽)

    文章目录 1. 问题分析 2. 基础情况 3. 安装 selenium 4. 下载 Edge 浏览器驱动 5. 登录网页京东 6. 滑动验证登录 7. 自动购买商品 8. 完整实现源码 结 语 参考博 ...

  8. 京东抢购失败?试试用Python准时自动抢购!七夕秒抢种礼物!

    前言 哈罗,各位小伙伴们,七夕快乐啊!虽然今天是七夕,但是苦逼的小编还是在老老实实加班呢!话说你们给自己对象的礼物都准备好了吗?小编可是提前一个礼拜就秒杀了几款礼物,今天好送给女友!如果忘了没准备的老 ...

  9. Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺

    其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语 ...

最新文章

  1. Java多线程相关知识
  2. windows使用Win32DiskImager安装树莓派系统
  3. 在电脑上安装Linux操作系统(ubuntu)
  4. mysql select db error_select error:不能用DB-library(如isql)不能用DB-library(如isql
  5. 在浏览器控制台执行以下代码,输入的结果是()
  6. 配置hiveserver2访问hive
  7. 三角形最佳路径问题(信息学奥赛一本通-T1288)
  8. 我想做产品,实现一个非常优秀的电脑桌面记事本加闹钟
  9. python文本菜单程序_从〇到一: Python GUI 程序:记事本
  10. 交换最小值和最大值 (15 分)
  11. 从IT的角度思考BIM(二):模式与框架
  12. 计算机使用的安全问题,大学计算机基础 教案 了解计算机使用中的安全问题(范文).doc...
  13. 数据建模_漫谈数据仓库之维度建模
  14. 配置Apache2+PHP5+MYSQL5
  15. Java开源电商系统
  16. 解压版tomcat7安装教程
  17. android自动计步_Android计步模块(类似微信运动)
  18. 猿创征文|Apache ShenYu网关插件介绍
  19. 中小型企业基于大数据技术的项目实践
  20. f(x)和g(x)分别是概率密度函数,h(x)=f(x)g(x)还会是概率密度函数么?

热门文章

  1. OSG使用GLSL各个版本例子
  2. 如何自己主动进行Win11系统升级安装教学
  3. 认识铁电材料从这里开始TDZT-04铁电材料测试仪
  4. 有关forward和redirect的描述
  5. 相对定位(relative),绝对定位(absolute),固定定位(fixed)
  6. 什么是SATA/PCI-E, M.2, U.2, NVMe...固态硬盘接口协议详解
  7. mintUi在vue-cli3部分使用的问题
  8. U盘恢复和数据恢复小常识
  9. 124:数组中最小值
  10. Python列表练习题