閒聊
在進行的兩天的Instagram爬蟲之後,今天要來嘗試讓程式碼執行在Discord自動留言。
預期
將帳號、密碼存於 .env
檔案中,執行程式後在指定伺服器和頻道發言。
實作
首先我們會需要使用dotenv
這個套件來進行操作,安裝:
pip install python-dotenv
安裝好之後就可以建立一個.env
檔,來存放帳號密碼。
email = '帳號'
password = '密碼'
再來就可以在Python中取得這些環境變數了!
from dotenv import load_dotenv
import os
load_dotenv()
emila = os.getenv('email')
password = os.getenv('password')
我們接下來可以開啟Discord,來看一下帳號、密碼的欄位。
知道欄位之後,就可以用Xpath、Selenium定位元素,並將資料用send_keys()
傳入。
並且使用click
點擊,進行登錄的動作。
from selenium import webdriver
from time import sleep
from dotenv import load_dotenv
import os
import json
load_dotenv()
emila = os.getenv('email')
password = os.getenv('password')
if __name__ == '__main__':
with open('cookies_jar.json') as f:
cookies = json.load(f)
driver = webdriver.Chrome()
driver.get('https://discord.com/channels/1027957761016877066/1027957761016877069')
sleep(1)
driver.find_element_by_xpath( '/html/body/div/div[2]/div/div/div/div/form/div/div/div[1]/div[2]/div[1]/div/div[2]/input').send_keys(email)
driver.find_element_by_xpath( '/html/body/div/div[2]/div/div/div/div/form/div/div/div[1]/div[2]/div[2]/div/input').send_keys(password)
driver.find_element_by_xpath(
'/html/body/div/div[2]/div/div/div/div/form/div/div/div[1]/div[2]/button[2]/div').click()
sleep(4)
driver.find_element_by_xpath( '/html/body/div[1]/div[2]/div/div[2]/div/div/div/div[2]/div[2]/div[2]/main/form/div[1]/div/div/div[1]/div/div[3]/div[2]/div').send_keys('嗨囉~\n')
結語
今天為了在Discord進行爬蟲,還特地去註冊帳號
不然在這之前,完全沒想過要來註冊。之後有空的話,好好來研究Discord。
明天!
【Day 26】用Postman儲存或測試API
參考資料
Discord:https://support.discord.com/hc/zh-tw