Python3.6实现12306火车票自动抢票,附源码
Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正。话不多说,进入正题:
这个脚本目前只能刷一趟车的,人数可以是多个,支持选取作为类型等。
实现思路是splinter.browser模拟浏览器登陆和操作,由于12306的验证码不好自动识别,所以,验证码需要用户进行手动识别,并进行登陆操作,之后的事情,就交由脚本来操作就可以了,下面是我测试时候的一些截图:
第一步:如下图,首先输入抢票基本信息
第二步:然后进入登录页,需要手动输入验证码,并点击登陆操作
第三步:登陆后,自动进入到抢票页面,如下图这样的
最后:就是坐等刷票结果就好了,如下图这样,就说是刷票成功了,刷到票后,会进行短信和邮件的通知,请记得及时前往12306进行支付,不然就白抢了。
Python运行环境:python3.6
用到的模块:re、splinter、time、sys、httplib2、urllib、smtplib、email
未安装的模块,请使用pip instatll进行安装,例如:pip install splinter
如下代码是这个脚本所有用到的模块引入:
刷票前信息准备,我主要说一下始发站和目的地的cookie值获取,因为输入城市的时候,需要通过cookie值,cookie值可以通过12306官网,然后在F12(相信所有的coder都知道这个吧)的network里面的查询请求cookie中可以看到,在请求的header里面可以找到,_jc_save_fromStation值是出发站的cookie,_jc_save_toStation的值是目的地的cookie,然后加入到代码里的城市的cookie字典city_list里即可,键是城市的首字母,值是cookie值的形式。
抢票,肯定需要先登录,我这里模拟的登录操作,会自动填充12306的账号名和密码,当然,你也可以在打开的浏览器中修改账号和密码,实现的关键代码如下:
登录之后,就是控制刷票的各种操作处理了,这里,我就不贴代码了,因为代码比较多,别担心,在最后,我会贴出完整的代码的。
当刷票成功后,我会进行短信和邮件的双重通知,当然,这里短信通知的平台,就看你用那个具体来修改代码了,我用的是互亿无线的体验版的免费短信通知接口;发送邮件模块我用的是smtplib,发送邮件服务器用的是163邮箱,如果用163邮箱的话,你还没有设置客户端授权密码,记得先设置客户端授权密码就好了,挺方便的。以下是主要实现代码:
说了那么多,感觉都是说了好多废话啊,哈哈,不好意思,耽误大家时间来看我瞎扯了,我贴上大家最关心的源码,请接码,大家在尝试运行过程中,有任何问题,可以给我留言或者私信我,我看到都会及时回复大家的:
Python可以做什么?
web开发和 爬虫是比较适合 零基础的
自动化运维 运维开发 和 自动化测试 是适合 已经在做运维和测试的人员
大数据 数据分析 这方面 是很需要专业的 专业性相对而言比较强
科学计算 一般都是科研人员 在用
机器学习 和 人工智能 首先 学历 要求高 其次 高数要求高 难度很大
我有一个微信公众号,经常会分享一些python技术相关的干货;如果你喜欢我的分享,可以用微信搜索“python语言学习”关注
欢迎大家加入千人交流答疑裙:588+090+942
Python3.6实现12306火车票自动抢票,附源码相关推荐
- Python3.6实现12306火车票自动抢票(内含源码)
最近在学Python,刚好过完年啦!大家应该都需要买高铁票继续去当打工人了吧!所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入 ...
- Python3.6实现12306火车票自动抢票
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 这个脚本目前只能刷一趟车的,人数可以是多个,支持 ...
- 每逢春节一票难求,用Python3.6实现12306火车票自动抢票省心省力
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 在进入正题之前,我想说明一下,由于12306官网 ...
- python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码
原标题:Python3.6实现12306火车票自动抢票,附源码 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已 ...
- 如何用Python3实现12306火车票自动抢票,小白必学
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题:在进入正题之前,我想说明一下,由于12306官网的 ...
- Python脚本实现12306火车票自动抢票回家or旅游
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 这个脚本目前只能刷一趟车的,人数可以是多个,支持 ...
- 五一出行一票难求,用Python实现12306火车票自动抢票,省心省力!
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 在进入正题之前,我想说明一下,由于12306官网 ...
- 接码平台源码_你的票被服务器上的爬虫“吃”了,本文解析爬虫抢票的源码!...
过年啦!黄牛们又开始猖獗了,我们为什么总是抢不到票?实际上票都被黄牛们部署在云服务器上的脚本不断刷着!我们手再快能快过爬虫吗?成都七中chengqigou清华大学shu20200124888.8张铁柱 ...
- 你的票被服务器上的爬虫“吃”了,本文解析爬虫抢票的源码!
过年啦!黄牛们又开始猖獗了,我们为什么总是抢不到票?实际上票都被黄牛们部署在云服务器上的脚本不断刷着!我们手再快能快过爬虫吗? 成都七中 chengqigou 清华大学 shu 2020 01 24 ...
最新文章
- 统一沟通-技巧-11-Lync-联盟-1-MSN
- 如何利用自定义注解放行 Spring Security 项目的接口
- Centos7下使用yum安装lnmp zabbix3.2
- php用go做跳转翻页,go.php跳转不输出权重的跳转方式真的有用么?
- MFC工作笔记0004---MFC中afx_msg是什么,afx_msg void function()是什么意思
- 手机一般都由富士康等企业代工,是不是意味着各品牌质量都差不多?
- k8s 您的连接不是私密连接_直插式声测管是不是承插式?如何连接?
- 如何在VirtualBox中安装win7虚拟机?
- 阿里云活动价格点击购买时价格上涨的解决办法
- negative和passive的反义词_消极的近义词和反义词
- DAO 的具体内涵与概念
- 企业微信好友无上限,私域流量即将迎来春天?
- kali linux下查看IP地址及dhcp地址释放与重新获取
- systemd服务分析
- 星淘惠告诉你跨境平台那么多,凭什么要选亚马逊?
- 无刷直流电机(BLDC)建模与仿真
- 网站服务器不缴费会清档吗,云服务器不缴费释放
- 网络隔离变压器的选型
- 混沌研习社-《创业反思-成为更加优秀的自己》 百度云下载
- 这 4 个超实用的 Docker 镜像构建技巧!你不会不知道吧?
热门文章
- 东方博宜OJ 题目全解 (1000 ~ 1005)
- += *= /= %= 运算的先后顺序
- atm柜员机模拟程序c语言,ATM自动取款机模拟程序
- SpringBoot使用SensitiveWord实现敏感词过滤
- 在Ubuntu9.10上折腾Maemo SDK5的过程
- 面试题--小白鼠实验
- STM32_RTC闹钟
- cocos2dx中cc、ccs、ccui的区别
- 黑莓q30_黑莓(BlackBerry)Passport Q30/联通4G手机主界面评测-ZOL中关村在线
- HyperLPR3车牌识别-五分钟搞定: 中文车牌识别光速部署与使用