当前位置:首页 > 旅游 >

登录12306用户名怎么写(12306用户名怎么写举例)

来源:原点资讯(www.yd166.com)时间:2023-05-28 22:17:22作者:YD166手机阅读>>

2、安装依赖的 Python 三方库
安装自动化工具库 splinter 和 邮件发送模块 zmail 。直接命令行执行

pip install splinter pip install zmail

步骤二、修改配置文件

配置文件 config.ini 需要修改以下几个地方:
1、你的12306账号、密码

## 登陆账号和密码 [login] ### username:12306登录用户名,必选参数 username= 填写你的12306用户名 ### password:12306登录密码,必选参数 password= 填写你的12306密码

2、你要买票的始发站,终点站,日期

## cookie信息,出发站,目的站 [cookieInfo] ### starts:对应搜索框出发地,必选参数,请输入中文名称,例如:武汉 starts=苏州 ### ends:对应搜索框目的地,必选参数,请输入中文名称,例如:南京 ends=信阳 ### dtime:对应搜索框出发日,必选参数,时间格式:年-月-日,例如 2018-01-19 ## 时间格式2018-01-19 dtime=2019-02-02

3、你要为其买票的人姓名

## users:乘客姓名,必选参数,中文姓名,支持多个乘客,用英文逗号隔开,例如:张三,李四 ### 乘客姓名需要提前加入到登录的12306账号的联系人中,为了程序自动选择乘客姓名 [userInfo] users = 郑征

4、chromedirver 的路径

## 路径信息 [pathInfo] ### driver_name: 浏览器名称,必选参数 driver_name = chrome ### executable_path: 浏览器驱动路径,必选参数 ### windows路径例如:C:\Users\sanshunfeng\Downloads\chromedriver.exe executable_path = E:\GitHub\python\pachong\tools\chromedriver.exe

5、发送邮件的配置信息

[mail] mail_user = 你的邮箱如 :somenzz@163.com mail_pwd = 你的密码 receiver = 你的收件地址:如 somenzz@163.com

其他如要买车次类型,几等座,顺序号等参考配置文件的注释进行修改即可 ,大多数人使用默认的配置就够了。

步骤三、运行源代码

直接在命令行执行

python hack12306.py

即可自动读取配置文件并运行自动抢票程序。

代码修改说明:

1、手工确认登陆成功。程序在登陆12306网站后,12306可能会跳转到出现问题的报错页面,提示“网络可能出现问题的页面”(可能是一种反爬虫措施),此时程序将陷入无限等待。为防止此种情况发生,我这边将将自动检查登陆结果的程序替换为手工检查,点击验证码登陆后,请在命令行界面输入 “Y”,即可使程序继续运行,这个修改是通用的,不论是否跳出网络错误页面均可运行。

# 验证码需要自行输入,程序自旋等待,直到验证码通过,点击登录 # 为防止跳转错误页面陷入死待,此处改为手工确认。 confirm = input("完成验证:Y/N: ") if confirm == 'Y' or confirm == 'y': return else: #输入其他值,程序退出 exit(0) # while True: # if self.driver.url != self.initmy_url: # sleep(1) # else: # break

上述注释掉的代码为修改前的代码。

2、邮件发送功能。
增加以下函数发送提醒邮件。

def sendmail(self,subject,message): # 你的邮件内容 mail_content ={ 'subject':subject, # 邮件标题写在这 'content_text':message, # 邮件正文写在这 } # 使用你的邮件账户名和密码登录服务器 server = zmail.server(self.mail_user, self.mail_pwd) # 发送邮件指令 server.send_mail([self.receiver], mail_content)

3、调整等待时间。有些时候由于网络延迟某些按钮等元素还未加载出来就被程序发送了点击命令,此时会报错,通过适当延长等待时间可以解决这个问题,就是调节代码中的 time.sleep(n) 中的 n 的值,如下图所示:

登录12306用户名怎么写,12306用户名怎么写举例(5)

调整等待时间

4、运行结果。
程序运行后会自动打开12306的页面登陆,并自动输入配置文件中的用户名和密码,点击验证码登陆后,在后台命令窗口输入Y,然后就可以看到浏览器在不停止的查询余票信息,当有符合条件的车票时将自动下单,并邮件通知。如果第一次运行后报错了,那么请重试一次,一般第二次就不报错了。

登录12306用户名怎么写,12306用户名怎么写举例(6)

Snipaste_2019-01-05_17-45-37.png

后台打印的信息如下所示:

===========hack12306 begin=========== 映射出发地、目的地... 加载配置文件... DevTools listening on ws://127.0.0.1:58067/devtools/browser/4426bbf5-49ca-439a-b73e-9217ececf3ea 开始登录... 等待验证码,自行输入... 完成验证:Y/N: Y 购票页面开始... --------->选择的车次类型 D-动车 --------->选择的车次类型 GC-高铁/城际 --------->选择的发车时间 00:00--24:00 循环点击查询... 第 1 次 --------->选择的车次类型 D-动车 --------->选择的车次类型 GC-高铁/城际 --------->选择的发车时间 00:00--24:00 循环点击查询... 第 2 次 --------->选择的车次类型 D-动车 --------->选择的车次类型 GC-高铁/城际 --------->选择的发车时间 00:00--24:00 循环点击查询... 第 3 次 --------->选择的车次类型 D-动车 --------->选择的车次类型 GC-高铁/城际 --------->选择的发车时间 00:00--24:00 循环点击查询... 第 4 次 --------->选择的车次类型 D-动车 --------->选择的车次类型 GC-高铁/城际 --------->选择的发车时间 00:00--24:00 循环点击查询... 第 5 次 --------->选择的车次类型 D-动车 --------->选择的车次类型 GC-高铁/城际 --------->选择的发车时间 00:00--24:00 循环点击查询... 第 6 次 ......

5、关于12306的验证码。
这验证码可以说是无敌了,连人有时侯都难以分辨。不过仍有人破解这个验证码,准确率可以说是相当高了,可以点击下面的链接了解详情。
https://github.com/andelf/fuck12306

6、生成windows可执行程序。
如果你想让自己的Python程序发给不懂Python的人使用,还是编译成 exe 发给他们好用,省得安装各种依赖包。这里说下如何将 python 源文件编译为 exe 文件。工具有很多,坑也很多,不建议过多研究,作为学习者直接运行源代码妥妥的。这里使用 pyinstaller。先安装打包工具:

pip install pywin32 pip install PyInstaller

在源代码所在的目录下执行命令:

pyinstaller -F hack12306.py

等待完成即可在 dist 目录找到可执行的 exe 文件。

如果代码使用了第三方库,则需要将第三方库包也放在源代码所在的目录,如本例中的:

登录12306用户名怎么写,12306用户名怎么写举例(7)

7、附部分源码:

def selUser(self): print(u'开始选择用户...') for user in self.users: self.driver.find_by_text(user).last.click() def confirmOrder(self): print(u"选择席别...") if self.seatType: self.driver.find_by_value(self.seatType).click() else: print(u"未指定席别,按照12306默认席别") def submitOrder(self): print(u"提交订单...") sleep(1) self.driver.find_by_id('submitOrder_id').click() def confirmSeat(self): # 若提交订单异常,请适当加大sleep的时间 sleep(2) print(u"确认选座...") if self.driver.find_by_text(u"硬座余票<strong>0</strong>张") == None: self.driver.find_by_id('qr_submit_id').click() else: if self.noseat_allow == 0: self.driver.find_by_id('back_edit_id').click() elif self.noseat_allow == 1: self.driver.find_by_id('qr_submit_id').click() def buyTickets(self): t = time.clock() try: print(u"购票页面开始...") # 填充查询条件 self.preStart() # 带着查询条件,重新加载页面 self.driver.reload() # 预定车次算法:根据order的配置确定开始点击预订的车次,0-从上至下点击,1-第一个车次,2-第二个车次,类推 if self.order != 0: # 指定车次预订 self.specifyTrainNo() else: # 默认选票 self.buyOrderZero() print(u"开始预订...") sleep(1) # 选择用户 self.selUser() # 确认订单 self.confirmOrder() # 提交订单 self.submitOrder() # 确认选座 self.confirmSeat() # 发送邮件 self.sendmail("抢到票了","请及时付款") print(time.clock() - t) except Exception as e: print(e)

上一页12末页

栏目热文

郁庭川宋倾城相似的小说(类似宋倾城郁庭川的小说)

郁庭川宋倾城相似的小说(类似宋倾城郁庭川的小说)

大家好,我是苏书酱啊,今天更新的是腹黑大叔文,真真切切的感受到了年龄不是问题!!一、《今年冬天下雪吗》作者:岛頔温冬逸是...

2023-05-28 22:27:26查看全文 >>

宋倾城郁庭川免费小说阅读(郁庭川和宋倾城小说免费阅读下载)

宋倾城郁庭川免费小说阅读(郁庭川和宋倾城小说免费阅读下载)

自从跟着郁庭川回南城,不管是洛杉矶之行,还是被他带去公司,当着员工的面被他唤作‘爱人’,加上平时在外人面前,她都能感受到...

2023-05-28 22:47:43查看全文 >>

主人公叫郁庭川和宋倾城的小说

主人公叫郁庭川和宋倾城的小说

《商界大佬的甜妻日常》作者酒当家,男主郁庭川,女主宋倾城,男大女12岁,被书名耽误的好看小甜文,虽然狗血又俗套,但是文笔...

2023-05-28 22:53:23查看全文 >>

宋倾城郁庭川全文阅读(宋倾城郁庭川全文阅读百度云)

宋倾城郁庭川全文阅读(宋倾城郁庭川全文阅读百度云)

第006章 你敢算计郁庭川?  第006章你敢算计郁庭川?  作者:  沈彻骑着电驴过来接人发现宋倾城已经坐在豪车里张嘴...

2023-05-28 22:56:12查看全文 >>

买火车票优惠(坐火车怎么样有优惠)

买火车票优惠(坐火车怎么样有优惠)

免费兑换火车票可以使用12306APP注册成为“铁路会员”享受打折火车票可以购买铁路定期票和计次票那么还有没有其他的、更...

2023-05-28 22:37:29查看全文 >>

和家亲登录密码怎么设置(和家亲初始登录密码)

和家亲登录密码怎么设置(和家亲初始登录密码)

有趣没钱,回家过年,2021年已接近年尾,崭新的2022年即将来到,这里小编给带来了和家亲监控摄像头,这是中国移动推出的...

2023-05-28 22:47:44查看全文 >>

和家亲路由器管理密码怎么设置(和家亲怎么样绑定路由器)

和家亲路由器管理密码怎么设置(和家亲怎么样绑定路由器)

WIFI网络不稳定,导致游戏太卡?总是记不住WIFI密码?相信大家都遇到过这些问题吧,笔者也经常遇到这样的问题,于是带着...

2023-05-28 22:45:12查看全文 >>

和家亲登录密码忘了怎么解锁

和家亲登录密码忘了怎么解锁

你是否经常遇到这些烦恼?——朋友来家里玩,想要连接家里的无线网,自己却怎么也记不起当初为了防被破解而设置的复杂的Wi-F...

2023-05-28 22:58:28查看全文 >>

和家亲登录默认密码(和家亲登录账号及密码在哪里)

和家亲登录默认密码(和家亲登录账号及密码在哪里)

你是否遇到过以几下种情况了?长时间没有输入过WIFI密码忘记是多少了朋友帮你在手机上输入的wifi密码,但没告你是多少,...

2023-05-28 22:32:18查看全文 >>

为什么手机有5g信号却没有网络(为什么手机收不到5g信号)

为什么手机有5g信号却没有网络(为什么手机收不到5g信号)

很多人都有这样的体验,在人流聚集的商业区、景区或高速路堵车时,手机明明信号满格,但就是连不上网,信息发不出去。这种现象,...

2023-05-28 23:00:40查看全文 >>

文档排行