国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Python和Selenium的大麥網(wǎng)自動(dòng)搶票腳本

這篇具有很好參考價(jià)值的文章主要介紹了基于Python和Selenium的大麥網(wǎng)自動(dòng)搶票腳本。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

自動(dòng)化搶票的腳本,需通過Selenium庫來實(shí)現(xiàn)自動(dòng)化操作。(學(xué)習(xí)參考)

# 導(dǎo)入必要的庫
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# 設(shè)置瀏覽器參數(shù)
options = webdriver.ChromeOptions()
options.add_argument("--incognito")
options.add_argument("--start-maximized")
# 創(chuàng)建瀏覽器對(duì)象
browser = webdriver.Chrome(options=options)
# 訪問大麥網(wǎng)登錄頁面
browser.get('https://passport.damai.cn/login?ru=https%3A%2F%2Fwww.damai.cn%2F')
# 等待登錄頁面加載完成
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="login-title"]')))
# 輸入賬號(hào)密碼并點(diǎn)擊登錄
username = 'your_username'  # 替換為自己的賬號(hào)
password = 'your_password'  # 替換為自己的密碼
browser.find_element_by_xpath('//input[@name="username"]').send_keys(username)
browser.find_element_by_xpath('//input[@name="password"]').send_keys(password)
browser.find_element_by_xpath('//button[text()="登錄"]').click()
# 等待登錄成功并跳轉(zhuǎn)到搶票頁面
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="page__title"]')))
browser.get('https://detail.damai.cn/item.htm?id=123456')  # 替換為自己要搶票的演出鏈接
# 等待搶票頁面加載完成
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="buybtn"]')))
# 開始不斷刷新頁面,直到出現(xiàn)“立即購買”按鈕
while True:
    try:
        browser.refresh()
        buy_btn = browser.find_element_by_xpath('//div[@class="buybtn"]')
        if buy_btn.text == '立即購買':
            break
    except:
        pass
    time.sleep(1)
# 點(diǎn)擊“立即購買”按鈕
buy_btn.click()
# 等待選擇票框加載完成
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="select_right"]')))
# 選擇票框、票價(jià)和數(shù)量(這里只選擇一張最便宜的票)
browser.find_element_by_xpath('//span[text()="選擇票框"]').click()
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//ul[@class="perform__select__list"]')))
select_list = browser.find_elements_by_xpath('//ul[@class="perform__select__list"]//li')
select_list[0].click()
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//span[@class="select_right_list_content_price_text"]')))
select_price = browser.find_elements_by_xpath('//span[@class="select_right_list_content_price_text"]')[0]
select_price.click()
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class
下面是注釋
# 初始化瀏覽器
browser = webdriver.Chrome()
# 找到包含選項(xiàng)的元素列表
select_list = browser.find_elements_by_xpath('//ul[@class="perform__select__list"]//li')
# 點(diǎn)擊第一個(gè)選項(xiàng)
select_list[0].click()
# 等待價(jià)格元素出現(xiàn)
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//span[@class="select_right_list_content_price_text"]')))
# 找到價(jià)格元素
select_price = browser.find_elements_by_xpath('//span[@class="select_right_list_content_price_text"]')[0]
# 點(diǎn)擊價(jià)格元素
select_price.click()
# 等待某個(gè)元素出現(xiàn)
WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="some_class"]')))

優(yōu)化后的完整代碼:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
def login_and_buy_ticket(username, password, performance_link):
    # 設(shè)置瀏覽器參數(shù)
    options = webdriver.ChromeOptions()
    options.add_argument("--incognito")
    options.add_argument("--start-maximized")
    # 創(chuàng)建瀏覽器對(duì)象
    with webdriver.Chrome(options=options) as browser:
        # 訪問大麥網(wǎng)登錄頁面
        browser.get('https://passport.damai.cn/login?ru=https%3A%2F%2Fwww.damai.cn%2F')
        # 等待登錄頁面加載完成并輸入賬號(hào)密碼
        try:
            WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="login-title"]')))
            browser.find_element_by_xpath('//input[@name="username"]').send_keys(username)
            browser.find_element_by_xpath('//input[@name="password"]').send_keys(password)
            browser.find_element_by_xpath('//button[text()="登錄"]').click()
        except Exception as e:
            print(f"Error during login: {e}")
            return
        # 等待登錄成功并跳轉(zhuǎn)到搶票頁面
        try:
            WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="page__title"]')))
            browser.get(performance_link)
        except Exception as e:
            print(f"Error navigating to performance page: {e}")
            return
        # 等待搶票頁面加載完成并開始不斷刷新頁面,直到出現(xiàn)“立即購買”按鈕
        while True:
            try:
                browser.refresh()
                buy_btn = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="buybtn"]')))
                if buy_btn.text == '立即購買':
                    buy_btn.click()
                    break
            except Exception as e:
                print(f"Error while waiting for buy button: {e}")
                time.sleep(2)
        # 選擇票框、票價(jià)和數(shù)量
        try:
            WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@class="select_right"]')))
            browser.find_element_by_xpath('//span[text()="選擇票框"]').click()
            select_list = WebDriverWait(browser, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//ul[@class="perform__select__list"]//li')))
            select_list[0].click()
            select_price = WebDriverWait(browser, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//span[@class="select_right_list_content_price_text"]')))[0]
            select_price.click()
        except Exception as e:
            print(f"Error while selecting tickets: {e}")
# 調(diào)用函數(shù)
login_and_buy_ticket('your_username', 'your_password', 'https://detail.damai.cn/item.htm?id=123456')

需要注意的:文章來源地址http://www.zghlxwxcb.cn/news/detail-509257.html

  1. 我用了with語句保證瀏覽器實(shí)例在函數(shù)結(jié)束后正確關(guān)閉。
  2. 我用了幾個(gè)try-except塊處理在各個(gè)步驟可能出現(xiàn)的異常,它可以在異常的時(shí)候打印出錯(cuò)誤的信息。
  3. 我把大部分代碼封裝在一個(gè)函數(shù)中,你如果需要,就可以輕輕松松再次調(diào)用該函數(shù)或者用作其他腳本的部分。

到了這里,關(guān)于基于Python和Selenium的大麥網(wǎng)自動(dòng)搶票腳本的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python 大麥搶票腳本

    請(qǐng)注意,編寫或使用搶票腳本可能違反相關(guān)網(wǎng)站的服務(wù)條款和法律法規(guī)。以下內(nèi)容僅供學(xué)習(xí)和了解技術(shù)原理之用,不鼓勵(lì)或支持任何違反規(guī)定的行為。 在Python中編寫大麥網(wǎng)搶票腳本通常涉及以下幾個(gè)步驟: ### 1. 分析網(wǎng)站結(jié)構(gòu) - 使用瀏覽器的開發(fā)者工具(如Chrome的Inspect功能)

    2024年04月12日
    瀏覽(21)
  • Python制作【大麥網(wǎng)】自動(dòng)搶票程序_python大麥搶票

    Python制作【大麥網(wǎng)】自動(dòng)搶票程序_python大麥搶票

    大麥網(wǎng),是中國綜合類現(xiàn)場(chǎng)娛樂票務(wù)營銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂劇、體育賽事等領(lǐng)域。 但是因?yàn)槠睌?shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票 那么,今天帶大家用Python來制作一個(gè)自動(dòng)搶票的腳本小程序 面向?qū)ο缶幊?selenium 操作瀏覽器

    2024年04月12日
    瀏覽(33)
  • Python制作【大麥網(wǎng)】自動(dòng)搶票程序

    Python制作【大麥網(wǎng)】自動(dòng)搶票程序

    大麥網(wǎng),是中國綜合類現(xiàn)場(chǎng)娛樂票務(wù)營銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂劇、體育賽事等領(lǐng)域。 但是因?yàn)槠睌?shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票 那么,今天帶大家用Python來制作一個(gè)自動(dòng)搶票的腳本小程序 面向?qū)ο缶幊?selenium 操作瀏覽器

    2024年02月04日
    瀏覽(27)
  • appium移動(dòng)端python大麥網(wǎng)搶票

    使用appium不是一個(gè)很好的選擇,而且也不一定能搶到票,由于沒有學(xué)習(xí)逆向工程,所以這個(gè)只能使用這個(gè)框架,這個(gè)框架在界面中有輪播,播放的情況下,定位元素會(huì)十分慢,但是我周圍的人確實(shí)能夠手工搶到票,做這個(gè)的意義就是省去人工操作,最后提升下我的技能。

    2024年02月17日
    瀏覽(22)
  • Python 使用selenium 實(shí)現(xiàn)大麥網(wǎng)自動(dòng)購票

    Python 使用selenium 實(shí)現(xiàn)大麥網(wǎng)自動(dòng)購票

    前言 大麥網(wǎng)是中國綜合類現(xiàn)場(chǎng)娛樂票務(wù)營銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂劇、體育賽事等領(lǐng)域 今天,我們要用代碼來實(shí)現(xiàn)他的購票過程 知識(shí)點(diǎn): 面向?qū)ο缶幊?selenium 操作瀏覽器 pickle 保存和讀取Cookie實(shí)現(xiàn)免登陸 time 做延時(shí)操作 os 創(chuàng)建文件,判斷文件是否存在 開發(fā)環(huán)

    2023年04月11日
    瀏覽(28)
  • python爬蟲(三)12306自動(dòng)搶票--- selenium

    python爬蟲(三)12306自動(dòng)搶票--- selenium

    一、 二 、 python爬蟲入門篇 https://blog.csdn.net/weixin_64050468/article/details/130583771?spm=1001.2014.3001.5501 文章目錄 前言 一、按照selenuim模塊+配置+可能報(bào)錯(cuò)解釋 二、selenium部分代碼解讀 ?三、開始操作 搶票代碼 爬取數(shù)據(jù)代碼 后面文章主打用爬蟲整活了 邊學(xué)邊玩 win + r 打開cmd 然后輸入

    2024年02月08日
    瀏覽(32)
  • Python selenium 簡單的實(shí)現(xiàn)大麥網(wǎng)自動(dòng)購票過程

    Python selenium 簡單的實(shí)現(xiàn)大麥網(wǎng)自動(dòng)購票過程

    大麥網(wǎng)是中國綜合類現(xiàn)場(chǎng)娛樂票務(wù)營銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂劇、體育賽事等領(lǐng)域 今天,我們要用代碼來實(shí)現(xiàn)他的購票過程 先來看看完成后的效果是怎么樣的 開發(fā)環(huán)境 版 本:anaconda(python3.8.8) 編輯器:pycharm 代碼實(shí)現(xiàn)步驟 實(shí)現(xiàn)免登陸 選座并且下單 初始化加

    2023年04月14日
    瀏覽(21)
  • Python制作【大麥網(wǎng)】搶票程序,看演唱會(huì)再也不怕沒票了

    Python制作【大麥網(wǎng)】搶票程序,看演唱會(huì)再也不怕沒票了

    大麥網(wǎng),是中國綜合類現(xiàn)場(chǎng)娛樂票務(wù)營銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂劇、體育賽事等領(lǐng)域。 但是因?yàn)槠睌?shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票 那么,今天帶大家用Python來制作一個(gè)自動(dòng)搶票的腳本小程序 面向?qū)ο缶幊?selenium 操作瀏覽器

    2024年02月05日
    瀏覽(43)
  • 周杰倫演唱會(huì)總是搶不到票?教你用Python做一個(gè)自動(dòng)搶票腳本!

    周杰倫演唱會(huì)總是搶不到票?教你用Python做一個(gè)自動(dòng)搶票腳本!

    相信想去周董演唱會(huì)的大家都用過大麥網(wǎng)搶票吧? 可是 搶不到啊 該說不說 我搶到了 那么,今天帶大家用Python來制作一個(gè)自動(dòng)搶票的腳本小程序! 知識(shí)點(diǎn): 面向?qū)ο缶幊?selenium 操作瀏覽器 pickle 保存和讀取Cookie實(shí)現(xiàn)免登陸 time 做延時(shí)操作 os 創(chuàng)建文件,判斷文件是否存在 開

    2024年02月04日
    瀏覽(28)
  • 大麥搶票-Appium實(shí)現(xiàn)搶票軟件

    環(huán)境介紹:Python 3.9.1 自行下載appium和相關(guān)依賴 本代碼是無聊寫的,運(yùn)行也正常,但是就是搶不到,搶票需要天時(shí),地利,人和,不要用UI最好 我鏈接的是夜神虛擬模擬器 特此說明:所有的UI自動(dòng)化搶票以個(gè)人見解,95%往上搶不到票

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包