12306监控抢购车票软件已经写好了,亏我Python学得好

12306 余票检测软件 根据日期,始发站,终点站,车次等信息检测 12306 是否有余票 一、实现方式 给 12306 购票网页注入脚本,脚本模拟请求,解析参数,获取最终的余票信息 余票信息通过接口信息通知服务端 二、脚本解析 1.获取所有车站名称对应的 MAP station_names是 12306 网站定义的全部变量,注入的脚本可以直接使用。 这个MAP服务于获取余票接口的参数 代码如下: function getStationMap() { const arr = station_names.split("@"); 阅读详情

目录

一、效果展示

二、代码详解

1 导入库

2 确定好购票基本信息

3 登录12306

4 模拟滑动滑块

5 处理疫情特殊要求

6 点击购票并填写出发地、目的地、出发时间

7 锁定车票

三、实现监控购买

注意

环境

代码

大家有没有这种感觉,一到国庆、春节这种长假,抢火车票就非常困难?各大互联网公司都推出抢票服务,只要加钱给服务费就可以增加抢到票的几率。有些火车票代售网点和一些加速买票软件,说你只要给100元服务费就可以优先帮忙抢到票。

本文和你一起探索抢票软件背后的原理。

干货主要有:

  • ① 200 多本 Python 电子书(和经典的书籍)应该有
  • ② Python标准库资料(最全中文版)
  • ③ 项目源码(四五十个有趣且可靠的练手项目及源码)
  • ④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)
  • ⑤ Python学习路线图(告别不入流的学习)

在这里插入图片描述
上述这份完整版的Python全套学习资料已经上传优快云官方,如果需要可以微信扫描下方优快云官方认证二维码 即可领取

👉[[优快云大礼包:《python兼职资源&全套学习资料》免费分享]](安全链接,放心点击)

一、效果展示

img

在正式进入代码讲解之前,先来看下本文的实现效果。

如果不是为了演示效果,直接在最后确定阶段加一个延时点击确定,应该不到45秒可以锁定一张票,只要在30分钟之内付款即可。

二、代码详解

本小节会详细解锁抢票软件是如何模拟登录网站,进行自动买票的。为了更清晰地给大家展示,部分代码没有写成函数,直接裸代码运行,让需要买票的朋友可以自己应用软件进行购票。

1 导入库

首先导入本文需要加载的库,如果你有些库还没有安装,导致运行代码时报错,可以在Anaconda Prompt中用pip方法安装。

import json
import time
from captcha import * 
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import wait
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC
#导入库

2 确定好购票基本信息

导入库后,在python代码中填写你购票的基本信息。

purpose = 'ADULT'               #购买成人票,如果是学生票,需调整代码
names = ['谢朝阳']              #填写购票人姓名
date = '2021-09-21'             #填写购票日期
start_station = '深圳'          #购票出发站
end_station = '长沙南'          #购票目的站
password = '11234567xyz'        #登录12306的秘密
username ='xiezhaoyang122700'   #登录12306的账号
trains = ['G1004', 'G80', 'G6028', 'G6182', 'G6016']  #你想买的班次
#填写基本信息

本文预订的是2021年9月21日从深圳到长沙南的高铁票,你可以根据自己的实际需要进行调整。由于有些班次的时间过早或过晚,买了也很不方便,所以可以在trains中挑选出你满意的班次进行购票。在这里需要提醒大家,我之前在尝试代码时碰到的坑,那就是时间中如果有个位数要在前面填0。比如2021年9月2日,你在填写购票日期date时要写成’2021-09-02’,否则在运行代码时日期总是填不进去。

3 登录12306

确定好购票的基本信息后,就可以应用python模拟登录12306了,代码如下:

options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")  
browser = webdriver.Chrome(options=options)
browser.maximize_window()
login_url = 'https://kyfw.12306.cn/otn/resources/login.html'
#ticket_url = 'https://kyfw.12306.cn/otn/leftTicket/init'
browser.get(login_url)
time.sleep(0.5)
wait.WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.CLASS_NAME,'login-hd-account'))).click()
input_name = browser.find_element_by_id('J-userName')
input_pd = browser.find_element_by_id('J-password')
input_name.send_keys(username)
input_pd.send_keys(password)
login = browser.find_element_by_id('J-login')
login.click()
#登录12306

整体思路是:

1.应用python模拟调用google浏览器;

2.输入12306网址;

3.等网页加载完全后点击账户密码登录;

4.找到账号密码的id,把账户密码信息填充进去;

5.找到登录id,模拟点击登录按钮。

在这一小节中要注意两个点。

一、要在python安装目录中放和google版本匹配的chromedriver,供python调用。

二、要学会填写账户密码信息的id。

首先,在google浏览器中输入12306登录网址:

中国铁路12306

接着点击账户密码登录,会出现如下界面:

img

然后点击红框中的三个点,找到更多工具,点击开发者工具,会出现如下界面:

img

点击红框中的箭头,把鼠标移动到账户框上去,就会出现如下界面:

img
右边变灰的框里就会出现对应的id,点击账号框,再把鼠标移动到右边变灰的字符上去,点击右键,会出现copy element的选项,复制下来即可。

<input type="text" class="input" id="J-userName" placeholder="用户名/邮箱/手机号" style="height: 44px; line-height: 44px; outline: black 0px;" aria-label="请输入用户名/邮箱/手机号" title="请输入用户名/邮箱/手机号">

发现了吗?源代码input_name中要填写的 browser.find_element_by_id(‘J-userName’)内容,即为id="J-userName"中的信息。

4 模拟滑动滑块

输入完用户名和密码,点击立即登录后,会出现如下滑块验证要求。

img

运行如下代码即可拖动滑块进行验证。

browser.implicitly_wait(5)
print('=====开始处理滑动验证码=====')
track = [300, 400, 500]  
for i in track:
    try:
        btn = browser.find_element_by_xpath('//*[@id="nc_1__scale_text"]/span')
        ActionChains(browser).drag_and_drop_by_offset(btn,i,0).perform()
    except:
        time.sleep(2)  
#拉动滑块验证

其中,browser.implicitly_wait(5)表示隐性等待5秒,track中放的是滑块拉动的距离。

5 处理疫情特殊要求

完成滑块验证要求后,会出现如下疫情特殊要求提示:

img

用如下代码点击确认即可。

browser.implicitly_wait(5)
browser.find_element_by_xpath('/html/body/div[5]/div[2]/div[3]/a').click()
time.sleep(2)  
#疫情特殊要求

browser.find_element_by_xpath和id的区别是,在右键复制时要copy XPath或copy full XPath。

6 点击购票并填写出发地、目的地、出发时间

接下来是选择买票,并将出发地、目的地、出发时间等信息填写进去。

browser.find_element_by_xpath('//*[@id="J-chepiao"]/a').click()
browser.find_element_by_xpath('//*[@id="megamenu-3"]/div[1]/ul/li[1]/a').click()
browser.find_element_by_xpath('//*[@id="qd_closeDefaultWarningWindowDialog_id"]').click()
#选择买票
def input_info():
    print('=====开始买票=====')
    from_station = browser.find_element_by_xpath('//*[@id="fromStationText"]')
    from_station.send_keys(Keys.ENTER)
    from_station.send_keys(Keys.CONTROL, 'a')
    from_station.send_keys(start_station, Keys.ENTER)
    browser.implicitly_wait(5)
    to_station = browser.find_element_by_xpath('//*[@id="toStationText"]')
    to_station.send_keys(Keys.ENTER)
    to_station.send_keys(Keys.CONTROL, 'a')
    to_station.send_keys(end_station, Keys.ENTER)
    browser.implicitly_wait(5)
    start_date = browser.find_element_by_xpath('//*[@id="train_date"]')
    start_date.send_keys(Keys.ENTER)
    start_date.send_keys(Keys.CONTROL, 'a')
    start_date.send_keys(Keys.CONTROL, 'x')
    start_date.send_keys(date, Keys.ENTER)
    browser.implicitly_wait(5)
    wait.WebDriverWait(browser, 3).until(EC.element_to_be_clickable((By.ID,'query_ticket'))).click()
input_info()
input_info()
#将出发地、目的地、出发日期填进去

得到的结果如下:

img

这里需要注意的是我调用了两遍input_info函数,因为12306可能采取了一些反爬措施,一遍输入进去后查不出东西,显示为灰色。

7 锁定车票

最后是依次查找trains中的车次是否有票,有的话点击购买锁定车票。

trList = browser.find_elements_by_xpath(".//tbody[@id='queryLeftTable']/tr[not(@datatran)]")
for tr in trList:
    trainNum = tr.find_element_by_class_name("number").text
    if trainNum in trains:
        leftTicket = tr.find_element_by_xpath(".//td[4]").text
        print('leftTicket', leftTicket)
        if leftTicket == '有' or leftTicket.isdigit():
            orderBtn = tr.find_element_by_class_name("btn72")
            orderBtn.click()
            browser.implicitly_wait(5)
            passengerLabels = browser.find_elements_by_xpath(".//ul[@id='normal_passenger_id']/li/label")
            for passengerLabel in passengerLabels: 
                name = passengerLabel.text
                if name in names: 
                    passengerLabel.click() 
            browser.implicitly_wait(20)
            # 获取提交按钮
            submitBtn = browser.find_element_by_id("submitOrder_id")
            submitBtn.click()
            browser.implicitly_wait(20)
            confirmBtn = browser.find_element_by_id("qr_submit_id")
            confirmBtn.click()
            time.sleep(2)
            browser.implicitly_wait(20)
            confirmBtn = browser.find_element_by_id("qr_submit_id")
            confirmBtn.click()
            break 
#依次查找trains中的车次是否有票,有的话点击购买

所以,如果你有特别心仪的车次,可以在trains中放在最前面,依次填写觉得还行的车次。至此,应用python解锁抢票软件背后的原理已讲解完毕,感兴趣的朋友可以自己跟着本文实现一遍。

12306不定期会更新买票界面,所以过一段时间可能之前的代码就要进行一些调整,需要自己弄清里面的原理,才可以以不变应万变。本文的代码没有进行高级的封装,只为大家能更清楚地了解每一步,能在抢票高峰期买到自己心仪的票。

也写得很基础,没有进一步的调优缩短时效,感兴趣的朋友可以自行研究,如有任何疑问可以跟我沟通。

三、实现监控购买

原代码只能实现购票,我对代码进行了修改,增加了监测和抢票成功推送功能。 需要自行输入12306账号、密码,购买车次、时间、出发站、目的站、server酱key(Server酱·Turbo版 (ftqq.com)去申请) 经测试可成功购票,但有如下问题需要

注意

1.登录测试过多可能会导致滑块验证失败,可自行点击刷新,即可自动执行后续代码(懒得写刷新验证了,只要不是多次运行,一般不会有这个问题)

2.main()中,买票buy那一块,因为我是要抢票,等待时间设置为2,如果是监测,建议设置时间长一点,因为有可能被反爬

3.买票提交按钮可能会有bug,于是我在main中增加了一次选择来确保。但无论如何,进入提交页面你都会收到微信提示,为了保险,建议去看一下是否真的提交了,手动提交也不是不可以。

4.多人买票请在buy()函数下names里填入

5.代码中那么多**code,是我用来标记这段代码是否执行成功,如果没有成功就重复执行,如果code=0,代码没成功,再从头执行,gmcode和code感觉有点重复了,但是,管他呢,能运行就行了, 滑稽.jpg

6.我只是个业余程序猿,代码改的丑陋,我尽量写的通俗易懂了,大佬勿喷。

环境

(食用本代码需要一定的基础知识,新手估计挺难得)

  • python3
  • webdriver

以及一些库,我用pycharm,没有的库可以直接导入 还有,我觉得最主要的就是webdriver,自己有的话更好,配置的话可能需要很久时间,也挺麻烦的

代码

# -*- coding:utf-8 -*-
import json
import requests
import time
from captcha import *
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import wait
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC
 
 
 
 
# 定义一系列code来确保每一步执行成功再进入下一步
global logincode, hkcode, yzcode, xpcode, cpcode, gmcode, code
 
 
# 初始化
def init_program():
    options = webdriver.ChromeOptions()
    options.add_argument("--disable-blink-features=AutomationControlled")
    browser = webdriver.Chrome(options=options)
    browser.maximize_window()
 
    return browser
 
 
# 登录12306
def login(browser):
    global logincode
    logincode = 0
    password = ''  # 登录12306的秘密
    username = ''  # 登录12306的账号
    login_url = 'https://kyfw.12306.cn/otn/resources/login.html'
    # ticket_url = 'https://kyfw.12306.cn/otn/leftTicket/init'
    try:
        browser.get(login_url)
        time.sleep(0.5)
        wait.WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.CLASS_NAME, 'login-hd-code'))).click()
        input_name = browser.find_element_by_id('J-userName')
        input_pd = browser.find_element_by_id('J-password')
        input_name.send_keys(username)
        input_pd.send_keys(password)
        login = browser.find_element_by_id('J-login')
        login.click()
        logincode = 1
    except Exception as e:
        logincode = 0
        print(e)
 
     
 
 
# 拉动滑块验证
def huakuai(browser):
    global hkcode
    hkcode = 0
    try:
        browser.implicitly_wait(5)
        print('=====开始处理滑动验证码=====')
        track = [300, 400, 500]
        for i in track:
            try:
                btn = browser.find_element_by_xpath('//*[@id="nc_1__scale_text"]/span')
                ActionChains(browser).drag_and_drop_by_offset(btn, i, 0).perform()
                hkcode = 1
            except:
                time.sleep(2)
    except Exception as e:
        hkcode = 0
        print(e)
     
 
# 疫情特殊要求
def yiqingyaoqiu(browser):
    global yzcode
    yzcode = 0
    try:
        browser.implicitly_wait(5)
        try:
            browser.find_element_by_xpath('/html/body/div[4]/div[2]/div[3]/a').click()
            yzcode = 1
        except:
            try:
                browser.find_element_by_xpath('/html/body/div[2]/div[7]/div[2]/div[3]/a').click()
                yzcode = 1
            except:
                yzcode = 0
        finally:
            time.sleep(2)
    except Exception as e:
        yzcode = 0
        print(e)
     
 
 
# 进入买票页面
def enterbuy(browser):
    global xpcode
    xpcode = 0
    try:
        browser.find_element_by_xpath('//*[@id="J-chepiao"]/a').click()
        browser.find_element_by_xpath('//*[@id="megamenu-3"]/div[1]/ul/li[1]/a').click()
        browser.find_element_by_xpath('//*[@id="qd_closeDefaultWarningWindowDialog_id"]').click()
        xpcode = 1
    except Exception as e:
        print(e)
        xpcode = 0
     
 
 
# 将出发地、目的地、出发日期填进去
def input_info(browser):
    global cpcode
    cpcode = 0
 
    date = '2022-01-24'  # 填写购票日期
    start_station = ''  # 购票出发站,例如南京南
    end_station = ''  # 购票目的站
    try:
        print('=====开始买票=====')
        from_station = browser.find_element_by_xpath('//*[@id="fromStationText"]')
        from_station.send_keys(Keys.ENTER)
        from_station.send_keys(Keys.CONTROL, 'a')
        from_station.send_keys(start_station, Keys.ENTER)
        browser.implicitly_wait(5)
        to_station = browser.find_element_by_xpath('//*[@id="toStationText"]')
        to_station.send_keys(Keys.ENTER)
        to_station.send_keys(Keys.CONTROL, 'a')
        to_station.send_keys(end_station, Keys.ENTER)
        browser.implicitly_wait(5)
        start_date = browser.find_element_by_xpath('//*[@id="train_date"]')
        start_date.send_keys(Keys.ENTER)
        start_date.send_keys(Keys.CONTROL, 'a')
        start_date.send_keys(Keys.CONTROL, 'x')
        start_date.send_keys(date, Keys.ENTER)
        browser.implicitly_wait(5)
        wait.WebDriverWait(browser, 3).until(EC.element_to_be_clickable((By.ID, 'query_ticket'))).click()
        cpcode = 1
    except Exception as e:
        print(e)
        cpcode = 0
 
 
 
 
# 依次查找trains中的车次是否有票,有的话点击购买
def buy(browser):
    global gmcode, code
    gmcode = 0
    code = 0
    purpose = 'ADULT'  # 购买成人票,如果是学生票,需调整代码
    names = ['']  # 填写购票人姓名,需要在你的乘车人管理里有的
    trains = []  # 你想买的班次,例如'D666',  'G666'
    browser.implicitly_wait(5)
    try:
        trList = browser.find_elements_by_xpath(".//tbody[@id='queryLeftTable']/tr[not(@datatran)]")
        for tr in trList:
            trainNum = tr.find_element_by_class_name("number").text
            if trainNum in trains:
                leftTicket = tr.find_element_by_xpath(".//td[4]").text
                print('leftTicket', leftTicket)
                if leftTicket == '有' or leftTicket.isdigit():
                    orderBtn = tr.find_element_by_class_name("btn72")
                    orderBtn.click()
                    browser.implicitly_wait(5)
                    passengerLabels = browser.find_elements_by_xpath(".//ul[@id='normal_passenger_id']/li/label")
                    for passengerLabel in passengerLabels:
                        name = passengerLabel.text
                        if name in names:
                            passengerLabel.click()
                    browser.implicitly_wait(20)
                    # 获取提交按钮
                    submitBtn = browser.find_element_by_id("submitOrder_id")
                    submitBtn.click()
                    browser.implicitly_wait(20)
                    confirmBtn = browser.find_element_by_id("qr_submit_id")
                    confirmBtn.click()
                    time.sleep(2)
                    browser.implicitly_wait(20)
                    confirmBtn = browser.find_element_by_id("qr_submit_id")
                    confirmBtn.click()
                    code = 1
                    gmcode = 1
                    break
 
    except Exception as e:
        print(e)
        gmcode = 0
     
 
 
def tuisong():
    api = "https://sctapi.ftqq.com/*****.send" #*****替换成你的微信server酱的key,可以实现购票成功推送,然后你就自己去12306付款
 
    title = '购买成功'
 
    data = {
        "text": title
    }
    req = requests.post(api, data=data)
 
 
if __name__ == "__main__":
    global logincode, yzcode, hkcode, xpcode, cpcode, gmcode, code
    code = 0
    logincode = 0
    yzcode = 0
    hkcode = 0
    xpcode = 0
    cpcode = 0
    gmcode = 0
    browser = init_program()
    while code == 0:
        while logincode == 0:
            login(browser)
            print('logincode:', logincode)
 
        while hkcode == 0:
            huakuai(browser)
            print('hkcode:', hkcode)
 
        while yzcode == 0:
            yiqingyaoqiu(browser)
            print('yzcode:', yzcode)
 
        while xpcode == 0:
            enterbuy(browser)
            print('xpcode:', xpcode)
 
        while cpcode == 0:
            input_info(browser)
            input_info(browser)#经测试,一次有可能不成功,我直接两次提交
            print('cpcode:', cpcode)
 
        while gmcode == 0:
            buy(browser)
            print('gmcode:', gmcode)
            print('code:', code)
            if gmcode == 0:
                browser.refresh()
                time.sleep(2)
                browser.find_element_by_xpath('//*[@id="qd_closeDefaultWarningWindowDialog_id"]').click()
                input_info(browser)
                input_info(browser)
            else:
                try:
                    print('tijiao')
                    confirmBtn = browser.find_element_by_id("qr_submit_id")
                    browser.implicitly_wait(20)
                    time.sleep(3)
                    confirmBtn.click()
                except:pass
 
 
 
        if code == 1:
            tuisong()
            break

img

利用Python自动抢火车票真的不难,100行代码即可完成(文末领源码) 如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,我也为大家整理了一份【最新全套Python学习资料】一定对你有用!如果需要可以扫描下方二维码免费获取如果你是零基础小白,想快速入门Python是可以考虑的!1、学习时间相对较短,学习内容更全面更集中2、可以找到适合自己的学习方案这份资料包含:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等教程,带你从零开始系统性的学好Python! 阅读详情

相关推荐

要过年了,最新的12306实时监控抢购车票软件已经写好了,这多亏我Python学的好

目录 一、效果展示 二、代码详解 1 导入库 2 确定好购票基本信息 3 登录12306 4 模拟滑动滑块 5 处理疫情特殊要求 6 点击购票并填写出发地、目的地、出发时间 7 锁定车票 三、实现监控购买 注意 环境 代码 大家有没有这种感觉,一到国庆、春节这种长假,抢火车票就非常困难?各大互联网公司都推出抢票服务,只要加钱给服务费就可以增加抢到票的几率。有些火车票代售网点和一些加速买票软件,说你只要给...

Python_kele的博客 1242

python实现云服务器上12306自动化抢票功能

1.3来到此界面登录进入,选择试用的类型,有1核2G和2核4G的,我选择的2核4G,提交订单后会收到短信,包括实例名,公网IP,系统用户名及默认密码,系统可以选择linux系统和Windows server系统两大类。这里需要注意,输入后需要按enter键才能真正录入进去,直接输入会报错,为此,我就完全模拟认为操作,即点击该文本框,然后录入信息,最后按一下ENTER键结束,so easy~!如果没票,我们就每隔30s点击查询按钮进行判断,这里很简单,用到sleep和循环判断操作,一会儿再说。

qq_33384092的博客 4965

12306火车票Python爬虫:余票实时监控与抢票逻辑实现

f"二等座:{ticket['second_seat']} 一等座:{ticket['first_seat']} 硬座:{ticket['hard_seat']}")print(f"🎉 抢票成功!'BJP': '北京', 'SHH': '上海', 'GZQ': '广州', 'SZH': '深圳','CQH': '重庆', 'CDQ': '成都', 'WHN': '武汉', 'NJH': '南京','HZH': '杭州', 'XAH': '西安', 'CSQ': '长沙', 'ZQ': '郑州'

2201_76125261的博客 40

如何用Python打造火车票抢票软件?

首先,让我们了解一下12306火车票的基本信息。12306是中国铁路客户服务中心的官方网站,旅客可以在该网站上查询火车票信息和购买火车票。但是由于火车票非常抢手,导致很多人在购票时遇到了困难。因此,我们可以使用Python编写一个自动化抢票程序,以帮助旅客更轻松地购买火车票。from在这个脚本中,我们使用了requests库来获取查询结果,并使用json库将结果转换为Python对象。我们还定义了出发地、目的地和日期,并将它们作为参数传递给查询地址。最后,我们打印了查询结果。

2301_76161259的博客 4723

python实现12306抢票(内含讲义、资料、代码等)

python实现的12306抢票程序,内含讲义、资料、代码等,代码注释比较全,有需要可自行阅读。

五、e2studio VS STM32CubeIDE之汉化

介绍stm32cubeide汉化方案和汉化包e2studio自带汉化包,在安装过程中可选择安装e2studio STM32CubeIDE切换中英文。

cl234583745的博客 1766

12306火车票抢票Python代码最新完整版发布,五一抢票就靠它了!

该案例本来是我写的一本由清华大学出版社出版的《Python程序设计基础实战教程》书籍里面第13章的内容,后来12306改版后原书中代码就无法运行了,最近五一大家出行较多,于是重新分析并写了一个新版本的代码,大家最近如果需要抢票,则可以使用该新版代码。3、攻克排队系统陷阱,避免进入排队系统(有时系统会把你的票放入排队系统,你需要永无止境的等待,但此代码可以让你避免进入排队系统)4、循环监控某车次的票,直到有票,自动抢购。4、循环监控某车次的票,直到有票,自动抢购。2、自动实现抢购设置的某日期的某车次的票。

m0_59162248的博客 5487

从零到一:ESP32-P4 PPA加速的配置陷阱与避坑指南

本文详细解析ESP32-P4结合LVGL的PPA硬件加速配置中的常见陷阱,包括内存对齐、缓冲区设置和同步机制等关键问题。提供实用的避坑指南和优化方案,帮助开发者高效启用esp32p4的PPA加速功能,显著提升图形渲染性能。

sky77的博客 396

12306火车票抢票Python代码

语言版本:Python 1、自动登录12306并保持Cookie 2、自动实现抢购设置的某日期的某车次的票 3、攻克排队系统陷阱,避免进入排队系统 4、循环监控某车次的票,直到有票,自动抢购 5、抢票时若出现异常,自动重新抢票,直到成功 ''' @初始配置项 Author:韦玮 --------------- ''' # 12306账号 myuser = "3123123@qq.c...

TH_NUM的博客 4056

从申请到落地:解锁OAI骨科数据集的实战指南与避坑经验

本文是一份详尽的OAI骨科数据集实战指南,重点解析了从NDA账号申请、权限审批到数据定位与高效下载的全流程。文章分享了使用login.gov注册、Chrome浏览器避坑、nda-tools命令行批量下载等核心技巧,并总结了常见问题排查方法,旨在帮助医学影像与骨关节炎研究者高效解锁这一宝贵数据资源。

weixin_29313547的博客 326

ArcGIS山体坡度、坡向分析

本篇文章主要记录自己在对山体坡向及坡度分析中的一些操作。

Belence_zhao的博客 7412

如何快速抢购火车票?py12306抢票神器的完整使用指南

py12306是一款功能强大的12306购票助手,支持集群部署、多账号管理、多任务并行购票以及直观的Web页面管理,帮助用户在春运等抢票高峰期提高购票成功率。无论是新手还是有经验的用户,都能通过这款工具轻松实现高效抢票。 ## 为什么选择py12306抢票助手? 在火车票抢购过程中,手动刷新页面不仅耗时耗力,还常常错过最佳购票时机。py12306通过自动化技术,实现了以下核心优势: - **

gitblog_00844的博客 328

PyQt5开发编译器安装(PyCharm安装)

PyCharm 提供了最完整的 PyQt5 开发体验,特别是其集成的调试工具和 Qt Designer 支持,能显著提高开发效率。是最受欢迎和功能最完整的 IDE。它专门为 Python 开发优化,对 PyQt5 有很好的支持。右键运行该文件,如果出现窗口说明配置成功。对于 PyQt5 开发,

啊渊的专栏 417

小年到了,回家抢票太难,用Python做个脚本12306自动查票以及自动购票....

今天就是小年了,听说还有人买不到票?不要慌,今天咱们来用Python做一个自动查票抢票的脚本,24小时抢票,谁抢的过你!

DEVELOPERAA的博客 4701

视觉Transformer实战 | Vision Transformer(ViT)详解与实现

在计算机视觉领域,卷积神经网络 (CNN) 长期以来一直是处理图像任务的主流架构。然而,随着 Transformer 在自然语言处理领域的巨大成功,研究人员开始探索将这种基于自注意力机制的架构应用于视觉任务。Vision Transformer (ViT) 是这一探索的重要里程碑,它首次证明了纯 Transformer 架构在图像分类任务上可以超越最先进的 CNN 模型。本文将详细介绍 ViT 的技术原理,并使用 PyTorch 从零开始构建 ViT 模型用于图像分类任务。

盼小辉丶的博客 4万+

提示词编写:从新手到专家的进阶之路

本文旨在为提示词编写者提供一条从新手到专家的进阶之路。我们将详细探讨提示词编写的背景与意义、基础与进阶技巧、实战应用以及最佳实践。通过逐步深入的分析与实操,读者将掌握提示词编写的核心要点,提高编写效率和作品质量。提示词是用于引导人工智能生成文本的关键词或短语,它包含了作者想要传达的主题、情感和细节。随着人工智能技术的普及,自动化写作工具逐渐应用于各行各业。为了提高写作效率,项目团队决定开发一款基于人工智能的自动化写作工具。成功开发了一款自动化写作工具,生成文本质量较高。

AI天才研究院 1086

12306火车票抢票助手:高效、智能的出行解决方案

12306火车票抢票助手:高效、智能的出行解决方案 在日常生活中,我们经常需要面对的一个挑战就是如何快速、准确地购买到12306官网上的火车票。为了解决这一问题,Henryhaohao开发了一款名为"12306_Ticket"的开源项目,它利用现代技术手段帮助用户更有效地抢购火车票。 项目简介 12306_Ticket是一个基于Python编写的自动化脚本工具,它可以实时监控1...

gitblog_00005的博客 1070

基于 PCL 的工业盒体点云精准分割

本文提出一种基于PCL点云库的工业盒体点云分割算法,采用由粗到精的分层策略解决传统方法在噪声、稀疏和堆叠场景下的分割问题。算法通过区域生长粗分割、RANSAC平面筛选、球面回溯补全、凹包边界提取和圆柱回溯精分割五大核心模块,充分利用盒体几何先验特征,实现高效精准的分割效果。文章详细阐述了算法流程、参数调优指南及工程化要点,指出该方法相比深度学习具有速度快、鲁棒性强、部署简单的优势。同时分析了算法在倾斜、异形目标上的局限性,并展望了结合深度学习特征的混合模型发展方向。该算法为工业自动化场景中的3D视觉检测提供

weixin_45196569的博客 172

如何用12306买票小工具快速搞定火车票?小白也能懂的配置教程

12306买票小工具是一款实用的开源抢票神器,能帮助用户快速搞定火车票抢购,尤其适合春节、国庆等出行高峰期使用。即使你是技术小白,按照本教程也能轻松配置并使用这款工具。 ## 🚀 准备工作:环境搭建与依赖安装 使用12306买票小工具前,需要先搭建基础运行环境。首先确保你的电脑已安装Python3,然后通过以下步骤安装所需依赖: 1. 克隆项目仓库: ``` git clone https

gitblog_01079的博客 467

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

12306智能抢票神器:Python自动化购票终极解决方案

12306购票小助手是一款基于Python开发的开源智能抢票工具,专门为解决中国铁路12306网站购票难题而设计。这款工具通过自动化技术实现智能登录、验证码识别、实时抢票和候补购票等功能,让用户在节假日高峰期也能轻松购买到火车票。 ## 智能验证码识别技术 本项目集成了先进的机器学习模型,能够自动识别12306复杂的验证码系统。通过本地训练的深度学习模型,系统可以快速准确地完成验证码识别,大大

gitblog_01053的博客 570

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python 12306 抢票助手:出行的最佳伙伴!

Python 12306 抢票助手:出行的最佳伙伴! 在这个竞争激烈的购票时代,Python 12306 抢票小工具是一把不可或缺的神器,它以Python编程语言为核心,提供高效、智能的火车票预订服务。这款开源项目由versionzhang精心打造,并不断更新迭代,旨在帮助广大用户顺利解决节假日出行难题。 1. 项目介绍 Python 12306 抢票小工具是一款自动化查询和预订火车票的软件。它不...

gitblog_00016的博客 624

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

PY12306购票助手终极完整教程:从入门到精通快速掌握

PY12306购票助手是一款功能强大的火车票自动购买工具,通过本文的详细指导,即使是新手用户也能快速掌握这款抢票神器的使用方法。本教程将带你从基础安装配置到高级功能应用,全方位了解这个支持多账号管理的智能购票系统。 ## 🎯 基础入门篇:快速上手配置 ### 环境准备与项目获取 首先确保你的系统安装了Python 3.6或更高版本,然后通过以下命令获取项目源码: ```bash git

gitblog_00466的博客 988

火车票抢购神器:Train-Ticket-Reaper 使用指南

火车票抢购神器:Train-Ticket-Reaper 使用指南 项目介绍 Train-Ticket-Reaper 是一个基于Python的开源项目,专为解决节假日及高峰时段火车票购票难的问题而设计。它利用高效的数据抓取和分析技术,自动化监控火车票发售情况,一旦发现有符合预订条件的票源,立即自动进行购买操作,大大提高了购票成功率。此项目特别适合程序员和对自动化工具感兴趣的旅行者使用。 项目快速...

gitblog_00212的博客 913

python抢票验证码_用Python抢火车票加邮件通知

微信改版,加星标不迷路阅读文本大概需要 5 分钟。临近春节了,大家也都开始抢火车票了,pk 哥每年过年也要抢火车票回去过年。我还记得去年过年用软件抢了一个月都没抢到,当时计划第二天返程上班,当天坐在电脑前不停的刷新,提交订单,在无数次的点击刷新下,还真让我手动刷新抢到了难能可贵的返程票。今年 pk 哥想换一种方式来抢票,就是用 Python 代替手工去不停的刷新,检测到余票马上点进去提交订单,提交...

weixin_39790717的博客 220

【亲测免费】 Py12306 购票助手教程

Py12306 购票助手教程 项目介绍 Py12306 是一个基于 Python 的 12306 购票助手,它提供了强大的功能,如集群支持、多账号管理、多任务并发购票,并且集成了Web界面管理。此项目设计用于简化在高峰时段购票的复杂度,特别适合那些需要抢购火车票的场景。通过使用高级特性和自动化流程,Py12306极大地提高了购票效率,使用户能够在第一时间捕获到票务信息。 项目快速启动 环境准备 ...

gitblog_00433的博客 1447

【2024亲测有效】Py12306抢票神器:让你告别12306抢票难题的免费开源助手

Py12306是一款功能强大的中国铁路12306订票助手,支持集群部署、多账号管理和多任务并行购票,还提供直观的Web页面管理功能。对于经常需要抢购热门车次车票的用户来说,这款开源工具能大幅提高购票成功率,是解决出行购票难题的理想选择。 ## 🌟 Py12306核心功能亮点 Py12306作为一款专业的铁路订票辅助工具,集成了多项实用功能,让抢票过程更加高效便捷: - **多维度余票查询*

gitblog_00008的博客 826
上一篇: Python入门进阶:68 个 Python 内置函数详解
下一篇: 如何让你的Python程序,定时定点地去执行任务?
智泊AI官方
博客等级 码龄6年 8638粉丝 2667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值