標籤:span 開始 exce 注意事項 hal 形式 expect 點贊 click
聲明:本指令碼純屬娛樂, 禁止用來非法自動點贊拉票!!!閑話:
明日之子第二季開始好久了,作者一直再追,特別喜歡裡面那個酷酷的小哥-蔡澤明。前兩天晉選9大廠牌,採取的是直播的形式,選手是否會晉級純靠粉絲手動點贊,而且特別坑的一點是點1000次才算一分貝,當時作者就想可不可以寫個指令碼自動點贊,當然功夫不負有心人,沒有程式猿狂跨不過去的山啊!!!!
以下是晉級九大廠牌是直播的自動點贊代碼(注意事項在代碼的注釋裡):
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECimport timeclass Tv(object): """ 本在Python3環境運行,請根據自己電腦運行環境、瀏覽器版本等選擇適合自己的webdriver """ def __init__(self): # 節目直播的url可能會改,請自行留意 self.url = "http://v.qq.com/live/p/topic/55607/index.html#player" self.driver = webdriver.Chrome() def run(self): self.driver.get(self.url) """ 出現data-id的地方都要改成自己喜歡的選手的id: 斯外戈:51673736 1673736 蔡偉澤:51673681 1673681 田 燚:51673438 1673438 張毅豪:51571292 1571292 邱洪凱:51673432 1673432 黃翔麒:51673693 1673693 文兆傑:51673466 1673466 孫哲源:51573987 1573987 鄧 典:51673370 1673370 如果自己喜歡的選手須下拉點贊榜單才能看到那麼他的點贊按鈕是不會被載入的,需要自己更改代碼等待自己喜歡的選手的點贊按鈕載入後才能自動點贊 """ while True: WebDriverWait(self.driver, 1000).until(EC.presence_of_element_located((By.XPATH, "//span[@data-id=‘51673681‘]//button[@data-id=‘1673681‘]"))) btn = self.driver.find_element_by_xpath("//span[@data-id=‘51673681‘]//button[@data-id=‘1673681‘]") # 第一次自動點擊會觸發登入介面 btn.click() try: # 出現登入介面,會等待使用者選擇還是QQ掃碼登陸,請手動選擇登陸的平台,並手動掃碼登入。 if EC.presence_of_element_located((By.XPATH, ‘//a[@class="btn_qq _login_type_item"]‘)): login_button = self.driver.find_element_by_xpath(‘//a[@class="btn_qq _login_type_item"]‘) login_button.click() # 登入我設定的是10秒內必須完成 time.sleep(10) except: pass # 每0.1秒點擊一次 # time.sleep(0.1)tv = Tv()tv.run()
九大廠牌升級站時直播點贊加了一個手機簡訊驗證,驗證彈出後請自行驗證,驗證完再重開一次程式就好!聲明:本指令碼純屬娛樂, 禁止用來非法自動點贊拉票!!!
作者:halooyAn
Python爬蟲學習--用Python結合Selenium實現 明日之子節目直播時為自己喜歡的選手自動點贊拉票!!!