写一个自动抢购的脚本,需要学哪些方面知识?

2018-03-18 19:51:17 +08:00
 0139

一些抢购活动需要在网页上刷新、选几个商品型号等等操作

学到能干这些事的程度,需要学哪些方面的知识,不太懂

16407 次点击
所在节点    问与答
20 条回复
wafm
2018-03-18 20:19:20 +08:00
1.选取一门语言作为基础,例如 python.

2.以爬虫为例,学习 HTTP/POST/GET 协议等知识.

3.一些电商有反爬虫和自动化,比如验证码,手机验证等等这些都是比较棘手的问题.
Zzzzzzzzz
2018-03-18 20:19:59 +08:00
随便一门语言

需要很多账户
golmic
2018-03-18 20:41:18 +08:00
层主写过京东的抢购。公众号 pydatame 有我的联系方式
churchmice
2018-03-18 20:57:24 +08:00
@wafm 如果不考虑反爬虫这种,是不是把最后提交给服务器的 post 的参数分析下,然后 Python 造个虫发个 post 就行了?
Mavious
2018-03-18 21:12:53 +08:00
唔,我是萌新。
我也有这个需求,于是在 v2 上球了个大神 15 分钟速写版爬虫。
然后再在速写版上大改特改,一通猛修,现在已经完成整个流程的一半,后半截有点儿思路但是还没写成功…

根据我折腾的经验——幸好网站没有反爬,没有 csrf,没有验证码——
没那么难,F12 分析下 get 了啥,post 了啥,那些 post 的值是怎么变化的,有没有规律……然后构造字典 post 出去就行了,很稳很方便。

我的后半截为什么有思路没成功?因为 post 的数据有一条键值我看不懂,不知道哪里来的,每次提交都会变化,找不到规律。所以卡住了。

用 post 效率最高,但要学分析,这需要丰富的实战经验。我还没有…

还有种方法,绝对不会被反爬—— seleinum 模拟操纵,怎么都不会被发现了。我杯具的被卡在安装环境上了。

seleinum 有浏览器 ide 版,可以录动作,无脑操作很轻松。
Shmiky
2018-03-18 21:16:51 +08:00
看到这个头像以为是我自己,银仙。
hardman
2018-03-18 21:21:25 +08:00
http 协议和 Python 就可以了,然后了解一下爬虫库,不是很难但是要想掌握多做一些联系,希望可以帮助到你,再学一些正则
redtea
2018-03-18 21:30:36 +08:00
法律
DeweyReed
2018-03-18 22:02:22 +08:00
刚好研究过,在几毫秒中抢东西,一分钟几百万上下,还是爬虫吧。不过主流网站都防爬,还得研究登陆 cookie 什么。
其次可以用 seleinum 和 splinter 类似的网页测试工具,可以做到模拟操作。我用起来很爽。没有遇到什么楼上的搭环境之类的问题。
再傻瓜一点可以用 AutoHotKey、按键精灵之类硬编码也可以。。
wafm
2018-03-18 22:08:55 +08:00
@churchmice 理论上就是如此啊,我们平时下单购买 都是提交对应的参数交给平台的后端去处理
hanzichi
2018-03-18 23:06:41 +08:00
简单的写个用户脚本或者 chrome 扩展就可以搞定
复杂的话需要分析 http 协议
mztql
2018-03-19 00:32:01 +08:00
上手最快可能是按键精灵?正经了解 post.get ,其他在模拟参数、反爬过程中可能要对 js 有了解,至于验证码交给平台或是自己写识别库,如果模拟操作的话抢购的速度还是慢点吧
churchmice
2018-03-19 08:54:54 +08:00
@Mavious 这个我知道,你正常流程提交之前查看网页源代码,里面有一些 hidden field 是用来给服务器维护状态用的,你爬之前先要来一次 get 请求,把这些 field 从你网页里面提取出来
qanniu
2018-03-19 09:03:20 +08:00
@DeweyReed 最近也在玩,cookies 做几个常用网站签到。请问您是部署的 headless 吗?用的哪个 driver ?
Mavious
2018-03-19 09:21:24 +08:00
@mztql
按键精灵绝对不是新人最快上手的工具( PS:我是萌新)。

我早期引用过按键精灵的一些函数写 VBS,略懂一些。
按键 [只] 适合处理奇葩国产特色,譬如网游外挂、找不到窗口句柄无法定位、根据周围的颜色来确定游戏人物的走路方向……都是国产特色需求,所以十分适合一些纯正国产网站。

但是对于无界面高级操作,就按键精灵非常弱鸡了。譬如 cookies 处理,保持会话,验证码,后台静默运行,多线程……按键做起来都很困难。因为按键实际上是模拟操纵网页,前后台分开的!不额外处理后台无法运行,所以效率特别低。

而且按键的函数远没有 py 好用,数学计算、匹配、循环基本没有。语法乱来,很不规范,我转学 py 时吃了大亏,老是语法错误。用按键点击一个 js 按键,穷尽各种 click 方法都点不进去。换做 py,post 一下就好了。

最重要的是,各种正经语言都有 gayhub 的内容可以抄袭,按键只有按键论坛这么个一亩三分地……有些需求搜不到,抄都没处抄。

新人入坑,按需求分析用那种语言吧。处理网游等国产特色就用按键;高强度运行且要求速度的,还是 py 这种正经语言好。
luoway
2018-03-19 09:40:27 +08:00
前端说一下思路:
1.window.reload 刷新
2.localStorage 存储执行脚本,eval 执行
3.click 选型号

小白上手大概 2 小时。
熟手编码 10 分钟。
luoway
2018-03-19 09:45:25 +08:00
@luoway
上面只能单次执行,重复需要手动
补充:
4.window.open()父页面控制子页面
5.setInterval 循环定时
DeweyReed
2018-03-19 09:52:15 +08:00
@qanniu 这个我帮不了了。。研究了 cookie 后觉得太麻烦,就用 seleinum 和 splinter 模拟网页了。。
ctro15547
2018-03-19 09:55:02 +08:00
想要简单+效率要求没那么高的话,请百度无头浏览器,再选一门语言例如 java,然后磕 20 分钟说明文档,手动登陆弄一些 cookies 开始写 估计 30 分钟写完,开 10 个左右开始重复操作。 这样你一秒钟大概会有 50 次以上的操作吧。剩下的就是怎么解决你 IP 代理的问题了。
aver4vex
2018-03-19 10:06:10 +08:00
用 seleinum 写爬虫还是不推荐的。我用他写过陆金所的自动交易脚本。基本上没什么效果。加载的资源太多,很影响效率。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439166

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX