❶ 如何用python写一个简单的12306抢票软件
#coding=utf-8
from selenium import webdriver
from time import sleep
import traceback
TICKET_URI = 'https://kyfw.12306.cn/otn/leftTicket/init'
LOGIN_URI = 'https://kyfw.12306.cn/otn/login/init'
MY_URI = 'https://kyfw.12306.cn/otn/index/initMy12306'
LOGIN = u'登录'
from splinter.browser import Browser
from time import sleep
import traceback
TICKET_URI = 'https://kyfw.12306.cn/otn/leftTicket/init'
LOGIN_URI = 'https://kyfw.12306.cn/otn/login/init'
MY_URI = 'https://kyfw.12306.cn/otn/index/initMy12306'
LOGIN = 'login_user'
def login():
brw.find_element_by_id(LOGIN).click()
sleep(3)
uname = '[email protected]'
pwd = 'xxxyyyzzz'
brw.find_element_by_id('username').send_keys(uname)
sleep(1)
brw.find_element_by_id('password').send_keys(pwd)
sleep(1)
while True:
if brw.current_url != MY_URI:
sleep(1)
else:
break
def addCookie(cklist):
li = list()
for d in cklist:
if d['name'] == '_jc_save_toStation' or d['name'] == '_jc_save_toDate' or d['name'] == '_jc_save_fromStation':
li.append(d)
return li
def book():
global brw
brw = webdriver.Chrome()
brw.set_window_size(1366, 768)
brw.get(TICKET_URI)
sleep(3)
while brw.find_element_by_id(LOGIN):
login()
if brw.current_url == MY_URI:
break;
try:
brw.get(TICKET_URI)
sleep(2)
# set src
brw.find_element_by_id('fromStationText').clear()
brw.find_element_by_id('fromStationText').click()
brw.find_element_by_id('fromStationText').send_keys(u'合肥南')
sleep(3)
# set dst
brw.find_element_by_id('toStationText').clear()
brw.find_element_by_id('toStationText').click()
brw.find_element_by_id('toStationText').send_keys(u'武汉')
sleep(3)
# set left date
print('please click train date')
sleep(5)
cke = brw.get_cookies()
li = addCookie(cke)
for x in li:
brw.add_cookie(x)
brw.refresh()
count = 0
success = False
if not success:
while brw.current_url == TICKET_URI:
brw.find_element_by_id('query_ticket').click()
sleep(2)
print(u'第%d次刷新' % count)
count += 1
brw.find_element_by_partial_link_text('D3057')
except Exception as e:
print(traceback.print_exc())
if __name__ == "__main__":
book()
❷ 如何用python写一个简单的12306抢票软件
自问题都详细别给详细答案 抢票软件般模拟浏览器发请求纯粹模拟问题比验证码请求数等等具体看要实现
❸ 如何写抢票软件python实现
你自己的问题都不详细,别人怎么会给你详细的答案。 抢票软件一般也就是模拟浏览器发请求,当然纯粹模拟也会有很多问题,比如验证码,请求数等等,具体看你要实现什么效果。
❹ python怎么抢火车票
fromsplinter.browserimportBrowser
b=Browser(driver_name="chrome")
b.visit("http://www..com")
❺ 学了bython真的可以制作抢票软件吗
这个真可以的,C++和java能编写的bython也可以编写,但是你编写的软件能不能抢的过那些买票软件就需要你的服务器运营和编写能力了。以前见过一个叫分流抢票的软件,是一个大神自己编写的,有兴趣可以自己查查看看。他的AI识别做得很好,目前那些乱七八糟的验证码需要AI自动识别。
❻ 你好,我想做一个抢票软件,该从哪方面入手
做抢票软件的话。
首先你要知道抢票软件的原理:用程序来模拟人为操作,但是比人为操作速度更快,更精准。
第一,需要学习web前端基础知识,你要会分析售票网站的代码,里面的数据是怎么实现的,现在的网站都是静态的框架(html+css,或者html5),动态的数据(利用javascript实现)。
第二,在第一的基础之上,需要学习编程语言,利用编程语言写爬虫脚本,你可以用python语言或者其他编程语言写脚本都可以,只要能爬取售票网站的数据就行了。根据售票网站的代码格局,设计好专项的爬虫程序,不断的调试再调试,如果你想把你的爬虫脚本打包成软件,还要稍微的学习一下,打包成只是windows平台的还是Linux平台的,还是MACOS(苹果电脑系统)平台的,还是移动操作平台(手机,安卓还是苹果),不同的平台下打包也不同,做出来后还要不断的测试直到没问题,再考虑怎么将软件上线,这些等等的就不细说了,这个阶段需要耗费些精力了
第三,现在很多网站的防爬虫机制都很强,售票网站的防爬机制更强,所以你需要设计好代码,防止被防爬虫机制把你的程序防下来,这个阶段其实可以放在你学爬虫的阶段里一起学习,这个是至关重要的阶段
第四,你需要顺应时代的变化,经验而谈,售票网站都会定期更新,所以你写的爬虫脚本也要跟着改变。长久下来,如果你做的很好,那么你基本也算IT圈内人了。
不过说句实话,做抢票软件国内市场里也只在春运时期有点作用,平常时间基本没什么人用,官方直接就可以买的,而且这门槛说高不高,说低不低,抢票行里目前已经有很多比较成熟的抢票软件存在了,你要做就必须体现出与那些成熟的app很明显的不同,以及很明显的优势你才能够分一杯羹,不然也搞不出什么。不要听人搞抢票很赚钱,这一行,始终不是长久的,毕竟和黄牛党很类似,不算多么正规的。
还有,说句实在话,可能不太好听,如果哥们你只是脑子一热想搞这个的,没有绝对的毅力,我劝你别趟这浑水。
以上全是经验而谈,实话实说
❼ 我从github上下载了python12306的抢票程序,但运行时一堆错误,求各位大神帮帮忙哈
贴一下具体链接呢
还有github上的代码,一般star至少要几十个的,才有一定质量保证
❽ 如何用python写一个简单的12306抢票软件
3
你自己的问题都不详细,别人怎么会给你详细的答案。 抢票软件一般也就是模拟浏览器发请求,当然纯粹模拟也会有很多问题,比如验证码,请求数等等,具体看你要实现什么效果。
❾ 如何用python写一个简单的12306抢票软件
所谓抢票实际上是在开始放票的一瞬间第一个发出请求并点击预订。作为程序员的我们,完全可以让程序来做这件事。我花了几个小时写了一个demo。用到的工具集有:Python3.6, Selenium, chromdriver. 程序本身就是流程性的东西,没有什么可介绍的。代码如下
#
coding=utf-8
from
selenium import
webdriver
from
time import
sleep
import
traceback
TICKET_URI
= '
https://kyfw.12306.cn/otn/leftTicket/init
'
LOGIN_URI
= '
https://kyfw.12306.cn/otn/login/init
'
MY_URI
= '
https://kyfw.12306.cn/otn/index/initMy12306
'
LOGIN
= u'
登录
'
from
splinter.browser import
Browser
from
time import
sleep
import
traceback
TICKET_URI
= '
https://kyfw.12306.cn/otn/leftTicket/init
'
LOGIN_URI
= '
https://kyfw.12306.cn/otn/login/init
'
MY_URI
= '
https://kyfw.12306.cn/otn/index/initMy12306
'
LOGIN
= '
login_user
'
def
login():
brw.find_element_by_id(LOGIN).click()
sleep(
3)
uname
= '123456789
@qq.com
'
pwd
= 'xxxyyyzzz
'
brw.find_element_by_id(
'
username
'
).send_keys(uname)
sleep(
1)
brw.find_
❿ Python:基于Python爬虫技术的抢票程序及其实现
临近放假,相信我们每天都在群聊里或者朋友圈看到一些帮忙抢火车票的信息。看到朋友们抢回家的车票这么辛( bei )苦( can ),结合圈里一些前辈的指点,抱着学习的心态用 Python 做了一个简单的自动化抢票程序,抢到票之后通过绑定的邮箱(比如 QQ )发通知。下面分享主要内容:
然后,开始使劲地码:
1. 定义自动购票的类(初始化属性)
2. 实现登录功能
3. 实现购票功能
4. 邮箱通知付款
还有,网络不好或者 12306 的服务器不稳定的时候,就会卡住,针对这种情况,系统会重复查询:
最后,祝大家都能顺利抢到票.
本文以转载于博客园小帝君的博客