① 如何用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寫一個簡單的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怎麼搶火車票
fromsplinter.browserimportBrowser
b=Browser(driver_name="chrome")
b.visit("http://www..com")
④ 我從github上下載了python12306的搶票程序,但運行時一堆錯誤,求各位大神幫幫忙哈
貼一下具體鏈接呢
還有github上的代碼,一般star至少要幾十個的,才有一定質量保證
⑤ 學了bython真的可以製作搶票軟體嗎
這個真可以的,C++和java能編寫的bython也可以編寫,但是你編寫的軟體能不能搶的過那些買票軟體就需要你的伺服器運營和編寫能力了。以前見過一個叫分流搶票的軟體,是一個大神自己編寫的,有興趣可以自己查查看看。他的AI識別做得很好,目前那些亂七八糟的驗證碼需要AI自動識別。
⑥ 如何用python寫一個簡單的12306搶票軟體
自問題都詳細別給詳細答案 搶票軟體般模擬瀏覽器發請求純粹模擬問題比驗證碼請求數等等具體看要實現
⑦ 你好,我想做一個搶票軟體,該從哪方面入手
做搶票軟體的話。
首先你要知道搶票軟體的原理:用程序來模擬人為操作,但是比人為操作速度更快,更精準。
第一,需要學習web前端基礎知識,你要會分析售票網站的代碼,裡面的數據是怎麼實現的,現在的網站都是靜態的框架(html+css,或者html5),動態的數據(利用javascript實現)。
第二,在第一的基礎之上,需要學習編程語言,利用編程語言寫爬蟲腳本,你可以用python語言或者其他編程語言寫腳本都可以,只要能爬取售票網站的數據就行了。根據售票網站的代碼格局,設計好專項的爬蟲程序,不斷的調試再調試,如果你想把你的爬蟲腳本打包成軟體,還要稍微的學習一下,打包成只是windows平台的還是Linux平台的,還是MACOS(蘋果電腦系統)平台的,還是移動操作平台(手機,安卓還是蘋果),不同的平台下打包也不同,做出來後還要不斷的測試直到沒問題,再考慮怎麼將軟體上線,這些等等的就不細說了,這個階段需要耗費些精力了
第三,現在很多網站的防爬蟲機制都很強,售票網站的防爬機制更強,所以你需要設計好代碼,防止被防爬蟲機制把你的程序防下來,這個階段其實可以放在你學爬蟲的階段里一起學習,這個是至關重要的階段
第四,你需要順應時代的變化,經驗而談,售票網站都會定期更新,所以你寫的爬蟲腳本也要跟著改變。長久下來,如果你做的很好,那麼你基本也算IT圈內人了。
不過說句實話,做搶票軟體國內市場里也只在春運時期有點作用,平常時間基本沒什麼人用,官方直接就可以買的,而且這門檻說高不高,說低不低,搶票行里目前已經有很多比較成熟的搶票軟體存在了,你要做就必須體現出與那些成熟的app很明顯的不同,以及很明顯的優勢你才能夠分一杯羹,不然也搞不出什麼。不要聽人搞搶票很賺錢,這一行,始終不是長久的,畢竟和黃牛黨很類似,不算多麼正規的。
還有,說句實在話,可能不太好聽,如果哥們你只是腦子一熱想搞這個的,沒有絕對的毅力,我勸你別趟這渾水。
以上全是經驗而談,實話實說
⑧ Python:基於Python爬蟲技術的搶票程序及其實現
臨近放假,相信我們每天都在群聊里或者朋友圈看到一些幫忙搶火車票的信息。看到朋友們搶回家的車票這么辛( bei )苦( can ),結合圈裡一些前輩的指點,抱著學習的心態用 Python 做了一個簡單的自動化搶票程序,搶到票之後通過綁定的郵箱(比如 QQ )發通知。下面分享主要內容:
然後,開始使勁地碼:
1. 定義自動購票的類(初始化屬性)
2. 實現登錄功能
3. 實現購票功能
4. 郵箱通知付款
還有,網路不好或者 12306 的伺服器不穩定的時候,就會卡住,針對這種情況,系統會重復查詢:
最後,祝大家都能順利搶到票.
本文以轉載於博客園小帝君的博客