首页 网站首页 商业信息 脚本 查看内容

听说某宝抢购脚本大家都会了?那就在来个某东茅台抢购脚本 ... ...

私域运营 2022-11-26 22:02 8968人围观 脚本

前言

某宝剧本一搜能搜一大堆,就是不晓得具体有没有用,可是这款某东的代码于11-17还是可用的,大师拿去白嫖吧!




编辑

需要用到的一些工具

Python版本:3.7.8

相关模块:

DecryptLogin模块;

argparse模块;

requests模块;

pyttsx3模块;

beautifulsoup4模块;

prettytable模块;

以及一些python自带的模块。

情况搭建

安装Python并增加到情况变量,pip安装需要的相关模块即可。

具体而言,就是先用DecryptLogin实现京东商城的模拟登录操纵,然后再查询登录账号的购物车中的商品信息,接着打印这些商品信息供用户挑选需要抢购的商品,最初用法式实现自动下单抢购方针商品。

由于全部逻辑很简单,也没有斟酌一些能够存在的异常情况(究竟只是一个简单的小案例,首要目标还是进修python和爬虫),所以整体实现起来实在蛮简单的。首先pip安装一下DecryptLogin包:

pip install DecryptLogin

具体而言,就是先用DecryptLogin实现京东商城的模拟登录操纵,然后再查询登录账号的购物车中的商品信息,接着打印这些商品信息供用户挑选需要抢购的商品,最初用法式实现自动下单抢购方针商品。

由于全部逻辑很简单,也没有斟酌一些能够存在的异常情况(究竟只是一个简单的小案例,首要目标还是进修python和爬虫),所以整体实现起来实在蛮简单的。首先pip安装一下DecryptLogin包:

pip install DecryptLogin

然后简单几行代码就能实现京东商城的模拟登录操纵啦:

from DecryptLogin import login

'''模拟登录'''
def login(self):
lg = login.Login()
infos_return, session = lg.jingdong()
return infos_return, session

别的,为了避免经常需要反复扫码登录的题目,我加了个导入历史cookies的代码段(淘宝抢购阿谁剧本也有):

if os.path.isfile(cookie_cache_name):
self.session = requests.Session()
loadSessionCookies(self.session, cookie_cache_name)
else:
self.infos_return, self.session = self.login()
saveSessionCookies(self.session, cookie_cache_name)

可是没有加考证cookies能否还在有用期内的代码,感爱好的同学可以自己增加一下,不感爱好的同学每次过段时候代码报错就自己手动删下:

cookie_cache.pkl

这个文件吧,作为怠惰的赏罚吧,就在你运转代码的阿谁文件夹里。

接着,我们来获得一下当前购物车里的商品信息,和之前一样,简单抓包的成果以下:



编辑

代码实现以下:

cart_url = 'https://api.m.jd.com/api?'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) APPleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
'origin': 'https://cart.jd.com',
'Referer': 'https://cart.jd.com',
}
data = {
'functionId': 'pcCart_jc_getCurrentCart',
'appid': 'JDC_mall_cart',
'loginType': '3',
}
response = self.session.post(cart_url, headers=headers, data=data)
print(response.text)


编辑

看起来没什么题目,把我们需要的数据提取出来:

response_json, cart_infos = response.json(), {}
for idx, item in enumerate(response_json['resultData']['cartInfo']['vendors']):
cart_info = {
'title': self.rematch(r"'Name': '(.*?)',", str(item)),
'Id': item['sorted'][0]['item']['Id'],
'skuUuid': self.rematch(r"'skuUuid': '(.*?)',", str(item)),
'IdForOldVersion': self.rematch(r"'IdForOldVersion': (.*?),", str(item)),
'SType': '11',
}
cart_infos[str(idx)] = cart_info

接着打印并让用户挑选想要抢购的商品信息:

# 打印并挑选想要抢购的商品信息
title, items = ['id', 'title'], []
for key, value in cart_infos.items():
items.append([key, value['title']])
self.printTable(title, items)
good_id = input('请挑选想要抢购的商品编号(例如"0"): ')
assert good_id in cart_infos, '输入的商品编号有误'

结果大如果这样子的:



编辑

最初按照用户的挑选成果停止下单就ok啦,下单相关的代码实现以下:

'''采办商品'''
def buygood(self, good_info):
# 取消勾选购物车中的一切商品
url = 'https://cart.jd.com/cancelAllItem.action'
data = {
't': 0,
'outSkus': '',
'random': random.random(),
}
response = self.session.post(url, data=data)
# 勾选指定商品商品
url = 'https://api.m.jd.com/api'
body = '{"operations":[{"ThePacks":[{"num":1,"sType":%s,"Id":%s,"TheSkus":[{"num":1,"Id":"%s","skuUuid":"%s","useUuid":false}]}]}]}' % \
(good_info['SType'], good_info['Id'], good_info['IdForOldVersion'], good_info['skuUuid'])
data = {
'functionId': 'pcCart_jc_cartCheckSingle',
'appid': 'JDC_mall_cart',
'body': body,
'loginType': '3',
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
'origin': 'https://cart.jd.com',
'Referer': 'https://cart.jd.com',
}
response = self.session.post(url, data=data, headers=headers)
# 获得定单结算页面信息
url = 'http://trade.jd.com/shopping/order/getOrderInfo.action'
params = {
'rid': str(int(time.time() * 1000)),
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'Referer': 'https://cart.jd.com/cart.action',
'Connection': 'keep-alive',
'Host': 'trade.jd.com'
}
response = self.session.get(url=url, params=params, headers=headers)
if '革新太频仍了' in response.text:
print(f'[{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} INFO]: 革新太频仍了')
raise RuntimeError('革新太频仍了')
if response.status_code != requests.codes.OK:
print(f'[{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} INFO]: 当前请求存在毛病')
raise RuntimeError('当前请求存在毛病')
soup = BeautifulSoup(response.text, 'html.parser')
risk_control = soup.select('input#riskControl')[0].get('value').strip(' \t\r\n')
order_detail = {
'address': soup.find('span', id='sendAddr').text[5:],
'receiver': soup.find('span', id='sendMobile').text[4:],
'total_price': soup.find('span', id='sumPayPriceId').text[1:],
'items': []
}
# 提交定单
url = 'https://trade.jd.com/shopping/order/submitOrder.action'
data = {
'overseaPurchaseCookies': '',
'vendorRemarks': '[]',
'submitOrderParam.sopNotPutInvoice': 'false',
'submitOrderParam.trackID': 'TestTrackId',
'submitOrderParam.ignorePriceChange': '0',
'submitOrderParam.btSupport': '0',
'riskControl': order_detail,
'submitOrderParam.isBestCoupon': '1',
'submitOrderParam.jxj': '1',
'submitOrderParam.trackId': '9643cbd55bbbe103eef18a213e069eb0',
'submitOrderParam.needCheck': '1',
}
if self.paywd is not None:
data['submitOrderParam.payPassword'] = ''.join(['u3' + x for x in self.paywd])
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
'Host': 'trade.jd.com',
'Referer': 'http://trade.jd.com/shopping/order/getOrderInfo.action',
}
response = self.session.post(url=url, data=data, headers=headers)
response_json = response.json()
if response_json.get('success'): return True
return False

终极京东里的结果以下:




编辑

固然这样提醒的结果能够不明显,究竟你不会一向盯着这个终端看,你可以加个语音提醒,代码以下:

# 电脑语音提醒
for _ in range(5):
pyttsx3.speak('已经为您抢购到你所需的商品, 请尽快前往京东完成付款.')

固然,也许你也纷歧定一向在电脑边上,所以你还可以加个server酱提醒,可以在商品抢购成功以后将该消息发送到你的微信上,代码以下:

'''发送Server酱提醒'''
def pushwechat(self, desp='已经为您抢购到你所需的商品, 请尽快前往京东完成付款.'):
server_url = f'https://sc.ftqq.com/{self.server_key}.send'
params = {
'text': '商品抢购成功提醒',
'desp': desp,
}
response = requests.get(server_url, params=params)
return response

server酱设置地址以下:

http://sc.ftqq.com/3.version

ok,大功乐成啦,完整源代码关注文末公众号即可

利用方式:

usage: jingdongsnap.py [-h] [--interval INTERVAL] [--paywd PAYWD] [--key KEY]

京东抢购剧本

optional arguments:
-h, --help show this help message and exit
--interval INTERVAL 抢购商品时查询商品能否可以采办的时候间隔(单元秒)
--paywd PAYWD 付出密码, 部分商品需要付出密码才能提交定单, 输入密码不会致使你间接采办商品, 存候心利用
--key KEY Server酱的Key

结果展现:



快拿去用吧,需要完整代码点这里获得

高端人脉微信群

高端人脉微信群

人脉=钱脉,我们相信天下没有聚不拢的人脉,扫码进群找到你所需的人脉,对接你所需的资源。

商业合作微信

商业合作微信

本站创始人微信,13年互联网营销经验,擅长引流裂变、商业模式、私域流量,高端人脉资源丰富。

精彩点评

相关推荐

有哪些超神的油猴脚本?

有哪些超神的油猴脚本?

小编在之前就介绍过很多油猴里的神器插件,这里给大家总结几款经典中的经典。01Usersc

一篇教会你写90%的shell脚本

一篇教会你写90%的shell脚本

shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统

脚本怎么写?250+个万能脚本,可直接套用!

脚本怎么写?250+个万能脚本,可直接套用!

作者:厚昌学院特聘讲师,厚昌学院顾问团队核心成员,从事互联网行业从事互联网行业8

浏览器辅助神器:油猴脚本使用教程

浏览器辅助神器:油猴脚本使用教程

前言「油猴脚本」是一段脚本代码,通过它可以让浏览器实现各种各样的扩展功能,和浏览

这100个shell脚本案例,你都知道吗?一篇教会你写90%的 ...

这100个shell脚本案例,你都知道吗?一篇教会你写90%的 ...

shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成

最新一波油猴脚本推荐:有了它们,你的浏览器就无敌了

最新一波油猴脚本推荐:有了它们,你的浏览器就无敌了

关注扩展迷、喜欢折腾电脑的小伙伴们,应该都对各种各样的浏览器插件不陌生了。浏览器

最强浏览器插件:油猴脚本的安装及使用教程

最强浏览器插件:油猴脚本的安装及使用教程

Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome,

油猴脚本管理器的超详细下载安装使用教程——新手必看

油猴脚本管理器的超详细下载安装使用教程——新手必看

油猴脚本管理器的超详细下载安装使用教程——新手必看油猴可以帮你干什么:全网VIP视

iPad随航脚本(Mac13.0Ventura)

iPad随航脚本(Mac13.0Ventura)

参考文章和视频:将iPad作为Mac Mini主屏幕的实现方法视频:无屏自动启动随航 iPad作为M

模板很齐全,视频脚本怎么写?50个短视频脚本文案模板 ...

模板很齐全,视频脚本怎么写?50个短视频脚本文案模板 ...

在运营短视频时,你有没有遇到过这样的问题:1、拍了一半发现拍摄场景不行;2、拍摄过

一个油猴脚本,让你体验真正的百度网盘下载不限速!

一个油猴脚本,让你体验真正的百度网盘下载不限速!

我们先看一下这个脚本的下载效果。我是100M的宽带,这直接能飙到20MB/s,所以下载速度

视频拍摄脚本怎么写?完整视频拍摄脚本范文实例分享

视频拍摄脚本怎么写?完整视频拍摄脚本范文实例分享

写脚本?对于没有视频背景的朋友来说可能就会有疑问,脚本是什么?不应该是电影,电视

「小白教程」让浏览器为所欲为!油猴脚本简介与使用心得

「小白教程」让浏览器为所欲为!油猴脚本简介与使用心得

本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:Stark-C大家好,我是Stark-

Tampermonkey油猴插件——安装与使用教程

Tampermonkey油猴插件——安装与使用教程

​初次见面,大家好。相信熟悉浏览器的都知道,尤其是大名鼎鼎的Chrome浏览器,丰富的

这是我见过最牛的shell脚本100例,学习提升面试必备,建议收藏

这是我见过最牛的shell脚本100例,学习提升面试必备,建议收藏

从历史上看,shell一直是类Unix系统的原生命令行解释器。多年来,它已被证明是Unix的

网售几元钱的网红脚本,真是顶流主播的走红秘籍?

网售几元钱的网红脚本,真是顶流主播的走红秘籍?

有人说,网红行业的现状是江山代有才人出,各领风骚“好几天”。的确,即便是行业顶流

115最新转存脚本(可转存和提取SHA1版本)

115最新转存脚本(可转存和提取SHA1版本)

最近115调整了接口,导致115转存助手ui优化版3.8.1版本无法转存或获取SHA1。有大神在

视频脚本创作不完全指南

视频脚本创作不完全指南

根据第49次《中国互联网络发展状况统计报告》数据,截至2022年12月,我国网络视频(含

一文详解Shell脚本编程,从基础到进阶,通俗易懂一目了然

一文详解Shell脚本编程,从基础到进阶,通俗易懂一目了然

Shell脚本编程难,难于上青天!这话不假,尤其很多程序员新人,学了几个月Shell脚本写

好的短视频从脚本制作开始,学会这3招,还怕做不出好脚本?

好的短视频从脚本制作开始,学会这3招,还怕做不出好脚本?

在上期我们做了个形象的比喻,把短视频制作比喻成我们造房子,前面我们已经带领大家打

商业洽谈 文章投递 寻求报道
电话咨询: 15924191378
关注微信