python秒杀神器苏宁_Python苏宁易购免费试用申请一键执行脚本源代码
# -*- coding: utf-8 -*-
# 主题 : 苏宁易购试用申请
# 版本 : 1.0(Python 3)
# 时间 : 2019.09.28
# 作者 : 池塘里的大鳄鱼
# 说明 : 需要先在59、60行输入账号密码,登录次数过多会出现滑块验证可将56-61行注释掉,选择下方63-66行手动登录方式。申请次数上限好像是50次/天。鼠标点击坐标值可能需要重设
import requests
import re
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
import win32api,win32con
from time import sleep
# 获取所有试用商品
def get_all_product_id():
urls = ['https://try.m.suning.com/mtp-web/api/index/batchCategoryProductBriefInfoByPageList/getFreeTabData1569656586954-1-101--1-1000.jsonp',
'https://try.m.suning.com/mtp-web/api/index/batchCategoryProductBriefInfoByPageList/getFreeTabData1569656734752-1-103--1-1000.jsonp',
'https://try.m.suning.com/mtp-web/api/index/batchCategoryProductBriefInfoByPageList/getFreeTabData1569656778689-1-102--1-1000.jsonp',
'https://try.m.suning.com/mtp-web/api/index/batchCategoryProductBriefInfoByPageList/getFreeTabData1569656845737-1-104--1-1000.jsonp']
product_id_list = []
for url in urls:
r = requests.get(url)
info = r.text
product_id = re.findall('(?<="productId":)(.*?)(?=,)', info)
product_id_list += product_id
return product_id_list
# 获取商品子ID
def get_child_id(driver, product_id): # 需设置火狐浏览器
url = 'https://c.m.suning.com/sy_content.html?productId=' + product_id
driver.get(url)
page = driver.page_source
child_id = re.findall('(?<=data-id=")(.*?)(?=")', page)
return child_id
# 检测已经申请过的所有商品
def cheek_exist_product(driver):
url = 'https://c.m.suning.com/sy_myApply.html?code=0'
driver.get(url)
page = driver.page_source
product_id = re.findall('(?<=data-productid=")(.*?)(?=")', page)
return product_id
# 主程序
def main():
driver = webdriver.Firefox()
driver.set_window_size(370, 740) # 设置浏览器窗口大小, 配合鼠标定位使用
# 先登陆苏宁账号
driver.get('https://passport.suning.com/ids/login?service=https://aq.suning.com/asc/auth?targetUrl=https://m.suning.com/&loginTheme=wap_new')
driver.implicitly_wait(3)
sleep(1) # 休眠1秒
driver.find_element_by_css_selector('.other_btn1').click()
driver.implicitly_wait(3)
sleep(1)
driver.find_element_by_css_selector('#username').send_keys('苏宁账户名称')
driver.find_element_by_css_selector('#password').send_keys('苏宁账户密码')
driver.find_element_by_css_selector('div.btnBox:nth-child(7) > a:nth-child(1)').click()
# # 等待登陆
# win32api.MessageBox(0, "请在网页上登录后到Python中继续下一步操作!", "登陆确认", win32con.MB_OK)
# # 等待用户登录
# input('*' * 10 + '按回车键继续操作' + '*' * 10)
print('-' * 35)
print('程序正在自动执行中...')
all_ids = get_all_product_id()
all_ids = set(all_ids)
exist_id = cheek_exist_product(driver)
exist_id = set(exist_id)
ids = all_ids - exist_id
ids = list(ids)
i = 0
# driver.get('https://c.m.suning.com/snsy.html')
for id in ids:
i += 1
print('正在执行第{}个任务'.format(i))
cid = get_child_id(driver, id)
cid = cid[0]
print(cid)
url = 'https://c.m.suning.com/sy_applyIndex.html?adTypeCode=470001&id=' + cid
driver.get(url)
sleep(1)
ActionChains(driver).move_by_offset(300, 637).click().perform() # 点击申请 不同分辨率的电脑可能需要重新设置(300, 637)这个坐标
sleep(1)
ActionChains(driver).move_by_offset(-300, -637).perform() # 滚回鼠标位置 不同分辨率的电脑可能需要重新设置(-300, -637)这个坐标
print('共执行{}个任务'.format(i))
win32api.MessageBox(0, '共执行{}个任务'.format(i), '执行完毕', win32con.MB_OK)
driver.close()
if __name__ == '__main__':
main()
python秒杀神器苏宁_Python苏宁易购免费试用申请一键执行脚本源代码相关推荐
- python秒杀神器苏宁_【Python】[新人贴]苏宁易购免费试用申请一键执行 更新1.1版本...
[Python] 纯文本查看 复制代码# -*- coding: utf-8 -*- # 主题 : 苏宁易购试用申请 # 版本 : 1.2(Python 3) # 时间 : 2019.10.27 # ...
- python秒杀神器苏宁_Python爬虫——实战三:爬取苏宁易购的商品价格
苏宁易购的商品价格请求URL为 https://pas.suning.com/nspcsale_0_000000000152709847_000000000152709847_0000000000_1 ...
- python秒杀神器苏宁_50个抢票加速包,还不如这个Python抢票神器
又到了一年一度的抢票大战,本来就辛苦劳累了一年,想着可以早点订到票跟家里人团聚.所以,许多人宁愿多花些钱去找黄牛买票. 但今年各种抢票软件的横行,还有官方出的加速包,导致连黄牛都不敢保证能买到票.你无 ...
- python秒杀神器_Python实现京东秒杀功能代码
本文实例为大家分享了Python实现京东秒杀功能的具体代码,供大家参考,具体内容如下 #Python 3.5 #coding:utf-8 #import scrapy from selenium im ...
- python装饰器的顺序_python中装饰器的装饰顺序和执行顺序
在python语言中"装饰器"模式被设计成语言内置的设计模式,使得使用该模式变得简单,仅仅需要在目标函数前使用'@'符号加装饰器名就能达到目的.但如果同一个目标函数需要进行多次装饰 ...
- python读取一行的函数_Python linecache.getline()读取文件中特定一行的脚本
Python linecache.getline()读取文件中特定一行的脚本 比如: Code highlighting produced by Actipro CodeHighlighter (fr ...
- linux 端口转发软件,linux端口转发神器Socat一键配置脚本
一.概述 目前常用的端口转发工具有rinetd.Haproxy.iptables.Socat前面2种只能转发TCP,后面TCP/UDP都可以转发.如果是需要udp转发的话,只能选择iptables.S ...
- 爬虫项目十:Python苏宁易购商品数据、评论数据爬取
文章目录 前言 一.商品数据 1.分析url 2.解析数据 3.实现翻页 二.评论数据 前言 利用Python对苏宁易购商品数据评价数据实现爬取 提示:以下是本篇文章正文内容,下面案例可供参考 一.商 ...
- python scrapy 框架的简单使用爬虫苏宁易购图书信息
python scrapy 框架的简单使用&&爬虫苏宁易购图书信息 前言 第一步: 分析网页 1.1 找到要爬取的数据位置 分类信息 图书信息 价格信息 1.2 分析如何获取数据 正则 ...
最新文章
- C# 控件开发中常用属性整理
- c语言24点游戏流程图,C语言解24点游戏程序
- react redux 相关技术
- 在WildFly上将JPA和CDI Bean与骆驼一起使用
- Oracle tips
- 做一个项目,平时都用到哪些工具提高效率(下)
- 访问linux端口失败_教你如何配置Linux服务器防火墙端口规则
- 如何快速成为C++工程师?
- android sh 指令_Android ADB Shell命令解析
- 2017 Multi-University Training Contest - Team 3 Kanade's trio(字典树+组合数学)
- mac 蓝牙 串口调试 助手(工具)
- 大三学生HTML期末作业,网页制作作业——HTML+CSS+JavaScript饮品饮料茶(7页)
- 大型互联网公司如何自建拥有独立AS号的IP网络
- ups机房动环监控系统方案
- 麒麟810处理器_华为携7nm麒麟810处理器 剑指高通
- 汽车芯片:缺货将诱发产业变革
- Java实战项目详细教程+文档+PPT+源码等]javaweb点餐系统全套|餐饮就餐订餐餐厅
- Atcoder abc257 E
- 鸿蒙系统笔记本电脑上市,华为:智能手表及笔记本电脑将搭载鸿蒙系统 手机明年上市...
- Jquery介绍及学习视频
热门文章
- Hayley Westenra 《Pure》 专辑收藏 -- By Emerald
- DIY智能插座(三) -- 蓝牙POS机改造
- 提升自我数据分析能力的根本,是方法论!
- C++抽象编程——回溯算法(6)——设计一般的双人游戏
- PCB BOM单制作规范
- override和overloading的区别?
- avue-crud 组件,form中实现树形下拉框联动输入框数据,省市区字典联动
- apt 的 update 和 upgrade 命令的区别是什么?
- geoserver java_GeoServer 安装教程
- 郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,(中北大学电气信息检索与写作实验二.doc...