您的位置 首页 > AI资讯 > 产业资讯

最简单的代码实现12306抢票功能

1、安装selenium工具包并下载chrome驱动(具体API使用可以参考官方文档,我只介绍我们使用的API)

2.创建文件并导入需要使用的lib

3. 分析12306URL。一般来说,任何有Web开发经验的人都可以理解。请求数据及显示如下

4.使用代码模拟请求数据(将下载的浏览器驱动放入指定位置或路径)

4.1 这里需要注意的是,当我们使用浏览器操作对象(浏览器)获取页面元素(如输入按钮.)时,页面还没有加载完毕,可能无法获取到指定的元素,所以我们必须使用代码来避免这个问题。

4.1.1 time.sleep(sec) 设置休眠时间,等待浏览器加载

4.1.2 自定义延迟加载

4.1.3 使用官方API设置延迟

推荐使用第三种。详细请参考官方文档。如果你觉得麻烦,就用第一种。无论如何,都是很低的。

5、获取所有列车的发车时间并进行相关逻辑处理。你只需要自己设置出发时间,然后判断这个列表中的值即可。为了简化步骤,我直接获取首班车的发车时间。是时候做演示了

6、输入账号和密码登录。为了个人数据保密,我将个人数据封装为json格式。

7. 获取12306验证码图片。这一步比较麻烦。我简单解释一下,你自己敲一下就明白了。

最简单的代码实现12306抢票功能

7.1 将整个浏览器页面的截图保存到full_img_data

7.2 通过find_element_by_id()方法获取验证码对象

7.3 使用login_img对象获取其坐标,左上角(x1,y1)和右下角(x2,y2)。

7.4 使用full_img对象进行截图(使用7.3中得到的坐标)并保存到本地。

8. 将验证码图片上传至云编码平台。我对官方的API做了一个小封装。具体操作如下

8.1 进入云编码网站并注册成为开发者

8.2 下载官方demo

8.3 打开demo并填写个人账户密码、appid和appkey

8.4 封装模块,定义如下代码为函数decode(),然后在主程序中导入(步骤2中使用)

9. 调用decode函数后,会得到响应数据,如下图(2、7)

10、我们需要通过程序模拟点击位置2和位置7的图片

11、只要验证码通过了,剩下的就简单了。获取页面元素并点击确认。

用户评论

空巷

这个标题太吸引人了!迫不及待想看看最简单的代码是怎样实现的!

    有16位网友表示赞同!

笑叹★尘世美

12306抢票真是太难了,希望这篇文章能提供一些实用的方法。

    有18位网友表示赞同!

怀念·最初

最简单代码实现抢票?这也太神奇了,感觉不太可能。

    有9位网友表示赞同!

炙年

我已经收藏了,下班就来看,希望能学到一些新技能。

    有9位网友表示赞同!

追忆思域。

期待看到代码的具体实现,希望作者能详细讲解。

    有20位网友表示赞同!

摩天轮的依恋

终于找到一篇靠谱的抢票教程了,感谢分享!

    有19位网友表示赞同!

*巴黎铁塔

简单代码就能抢票?这也太厉害了,简直是神器!

    有18位网友表示赞同!

陌颜幽梦

希望作者能分享一些抢票实战经验,比如如何提高成功率。

    有9位网友表示赞同!

各自安好ぃ

文章标题很吸引人,但希望内容不要太复杂,要通俗易懂。

    有13位网友表示赞同!

哭着哭着就萌了°

这个代码实现12306抢票功能,真的靠谱吗?

    有7位网友表示赞同!

残留の笑颜

感觉有点意思,要好好研究一下,说不定真的能抢到票。

    有14位网友表示赞同!

红玫瑰。

学习了!希望这篇文章能帮助我顺利抢到回家的车票。

    有17位网友表示赞同!

巷口酒肆

期待作者能分享更多抢票技巧,比如如何选择合适的抢票时间等。

    有14位网友表示赞同!

青瓷清茶倾城歌

最简单的代码实现抢票功能,这应该是很多人的梦想吧!

    有14位网友表示赞同!

无关风月

希望这篇文章能帮助我解决12306抢票的难题。

    有10位网友表示赞同!

(り。薆情海

感觉有点不太现实,但是还是想试试看,说不定真的可以呢。

    有19位网友表示赞同!

反正是我

12306抢票真是个技术活,希望这篇文章能提供一些帮助。

    有19位网友表示赞同!

抚涟i

终于找到一篇靠谱的教程了,赶紧收藏起来,以备不时之需。

    有12位网友表示赞同!

箜篌引

期待作者能分享更多抢票的实战经验,帮助大家提高成功率。

    有20位网友表示赞同!

秒淘你心窝

这篇文章太及时了,马上就要过年了,抢票大战又要开始了!

    有6位网友表示赞同!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023