日誌2021-07-26 22:56
爬蟲實作 - 改良版巴哈自動搶樓機器人作者:熾炎之翼
import requests from bs4 import BeautifulSoup import time import os from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains send_headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"} options = webdriver.ChromeOptions() options.add_experimental_option('excludeSwitches', ['enable-logging']) UID = 'YOUR_UID' #你的帳號 PW = 'YOUR_PW' #你的密碼 content = '蓋' #你蓋樓的內容 def starter(): driver.get(URL) driver.find_element(By.ID, "postTips").click() time.sleep(0.3) ActionChains(driver).send_keys(content).perform() URL = input('URL:') floor_target = int(input('欲搶樓層:')) if '&last=1' not in URL: URL += '&last=1' driver = webdriver.Chrome(chrome_options=options) driver.get('https://www.gamer.com.tw/') driver.find_element(By.LINK_TEXT, "我要登入").click() driver.find_element(By.ID, "uidh").send_keys(UID) driver.find_element(By.NAME, "passwdh").send_keys(PW) driver.find_element( By.CSS_SELECTOR, ".form__buttonbar:nth-child(6) > .btn--primary").click() time.sleep(0.5) starter() os.system('cls') while True: request = requests.get(URL, headers=send_headers) html = request.content bsObj = BeautifulSoup(html, 'html.parser') shouter = bsObj.findAll('a', {'class': 'floor'}) for page in shouter: floor_now = page.get_text() print(floor_now) floor_now = int(floor_now[:-2]) t = 60 if floor_now >= floor_target: t = 60 print('已超過預定樓層 請重新輸入下一欲搶樓層') floor_target = int(input('欲搶樓層:')) os.system('cls') starter() continue elif floor_target - floor_now <= 10: t = 0.4 if floor_now == floor_target - 1: driver.find_element(By.CLASS_NAME, "btn--send").click() time.sleep(0.3) driver.find_element(By.CLASS_NAME, "btn-primary") try: driver.find_element(By.CLASS_NAME, "btn-primary").click() except: pass print("已發文") time.sleep(t) |
2021-07-26 22:59熾炎之翼:昨天是我自己搶到的沒錯啊 只有看爬蟲來知道現在樓層到哪而已 還是用手發文的XD
2021-07-26 23:07熾炎之翼:合太子宮屌虐我ㄅ
2021-07-26 23:07熾炎之翼:你走浮誇風欸
2021-07-26 23:10熾炎之翼:抱歉啦 搶樓就是一人開心眾人鬱卒@@
不過幸好還是阿御幫的勝利(?
2021-07-26 23:17熾炎之翼:阿御是青椒老大
2021-07-26 23:18熾炎之翼:感謝大佬指教
這邊還會再繼續修改的
2021-07-26 23:20熾炎之翼:行 感謝範例
2021-07-27 11:18熾炎之翼::)
2021-07-27 11:19熾炎之翼:應用層面挺廣的
2021-07-27 11:19熾炎之翼:感謝感謝
2021-07-27 16:24熾炎之翼:不過說真的 我單一設備根本不會對伺服器造成任何傷害 更何況在我造成影響之前就會被ban掉ip 性質上來說更像是你用電腦一直按F5(人手按的速度還可能低於0.4秒) 法律上我是覺得站得住腳的
2021-07-27 19:59熾炎之翼:如果沒有被伺服器擋掉的程度
我認為這也算是伺服器端允許的應用範圍
更何況這並非殭屍網路這種足以影響甚至癱瘓伺服器的等級
所有功能也是任何一個使用者都可以做到手動重現的
要說觸法還是挺讓人難以接受的
2021-08-01 02:55熾炎之翼:可能總有一天會派上用場 吧
2021-08-01 02:59熾炎之翼:每天3、4.睡算常態了吧
我覺得忘掉還好 老實說我自己同一個東西也會忘個3、4次
重點是要有印象 要知道怎麼去查
本來就很少人把全部的函式背的滾瓜爛熟
上網查資料不是什麼可恥的事
2021-08-02 02:35熾炎之翼:沒事 很高興能夠幫到你
基本上爬蟲最好都裝一下偽裝
不然其實挺多網站都會擋的
2021-12-09 12:49熾炎之翼:沒想到過了快半年還有人看XD