[ChatGPT] 網路爬蟲自動製作台灣新聞封面
Table of Contents:
- 簡介
- 步驟1: 開設 Discord 伺服器
- 步驟2: 建立 Discord 機器人
- 步驟3: 安裝必要的程式庫
- 步驟4: 建立 Discord 機器人的程式碼
- 步驟5: 使用網路爬蟲觸發 Midjourney 生成圖片
- 步驟6: 自動下載生成的圖片
簡介
在本文中,我們將介紹如何使用 Discord 機器人自動化從 MidJourney 生成圖片並將其下載下來。首先,我們將設置 Discord 伺服器和機器人。然後,我們將使用 Python 程式碼來設置機器人並使用網路爬蟲觸發 MidJourney 生成圖片。最後,我們將自動下載生成的圖片。
步驟1: 開設 Discord 伺服器
🔔 步驟1.1: 建立伺服器
在 Discord 上建立一個新的伺服器。點擊「加號」符號,選擇「建立伺服器」。輸入伺服器名稱並選擇一個圖片。
🔔 步驟1.2: 邀請機器人加入伺服器
- 在伺服器設定中,點擊「新增機器人」。
- 搜尋並選擇 MidJourney 機器人。
- 選擇你的伺服器。
- 授予機器人相關權限,如讀取訊息和查看頻道。
- 點擊「授權」。
🔔 步驟1.3: 取得機器人的身份驗證權杖
- 在機器人設定中,點擊「重置權杖」。
- 點擊「確定」。
- 複製生成的身份驗證權杖,備用。
步驟2: 建立 Discord 機器人
🔔 步驟2.1: 建立 Discord 應用程式
在 discord.com/developers 上建立一個新的應用程式。點擊「新增應用程式」,並為其指定一個名稱。
🔔 步驟2.2: 開啟公開機器人功能
在應用程式設定中,開啟公開機器人功能和「要求 OAuth 機碼授權」。確保勾選「說明」、「指南」和「提示」。
🔔 步驟2.3: 設定機器人權限
- 在機能設定中找到「機器人」。
- 選擇要使用的權限,如讀取訊息和查看頻道。
- 點擊「儲存變更」。
🔔 步驟2.4: 取得機器人的 OAuth 連結
到「授權」選單,選擇機器人要加入的伺服器,並點擊「複製」在瀏覽器列中複製 OAuth 連結。
步驟3: 安裝必要的程式庫
在 Python 中安裝 discord.py 和 requests 程式庫,這些程式庫將用於與 Discord 伺服器進行互動和進行網路爬蟲操作。輸入以下命令來安裝這些程式庫:
pip install discord.py requests
步驟4: 建立 Discord 機器人的程式碼
使用上述程式庫和你的機器人的 OAuth 連結,建立並執行以下 Python 程式碼來啟動 Discord 機器人:
import discord
intents = discord.Intents.default()
intents.typing = False
intents.presences = False
bot = discord.Bot(command_prefix="!", intents=intents)
@bot.event
async def on_ready():
print(f"Logged in as {bot.user.name}")
bot.run("YOUR_TOKEN_HERE")
確保將 YOUR_TOKEN_HERE
替換為你的 Discord 機器人的身份驗證權杖。
步驟5: 使用網路爬蟲觸發 MidJourney 生成圖片
🔔 步驟5.1: 安裝並匯入所需的模組
import requests
def download_image(url, filename):
res = requests.get(url)
with open(f"mid_images/{filename}", "wb") as f:
f.write(res.content)
print(f"Downloaded image: {filename}")
🔔 步驟5.2: 在 Discord 機器人程式碼中加入圖片下載功能
在 Discord 機器人的程式碼中,添加以下代碼以處理收到的圖片並下載到本地端:
@bot.event
async def on_message(message):
for attach in message.attachments:
if attach.filename.endswith((".jpg", ".png")):
download_image(attach.url, attach.filename)
await bot.process_commands(message)
步驟6: 自動下載生成的圖片
使用上述兩個步驟的程式碼,使用 Prompt 產生 MidJourney 的咒語,然後使用網路爬蟲觸發 MidJourney 生成圖片,最後自動下載生成的圖片。
請記得在 Generate_Prompt
函數中插入你想要生成圖片的文章標題。可以使用以下程式碼執行自動化的流程:
from PIL import Image
def Generate_Prompt(headline):
# 使用 Prompt Generator 生成咒語
midjourney_prompt = prompt_generator.generate_prompt("MidJourney", headline)
# 在 GP3.5 Turbo 上使用圖像咒語
image_prompt = gp3.5_turbo.generate_prompt("Image Prompt", midjourney_prompt)
payload = {
"value": image_prompt,
"numTokens": 64,
"stopSequences": ["\n"],
"maxTokens": 256,
"temperature": 0.7,
"topP": 1.0,
"frequencyPenalty": 0.0,
"presencePenalty": 0.0
}
headers = {
"Authorization": "Bearer YOUR_TOKEN_HERE"
}
response = requests.post(
"https://api.openai.com/v1/engines/davinci-codex/completions",
json=payload,
headers=headers
)
print(response.json())
# 設定相關程式庫和變數
...
# 更新 on_message 函數
@bot.event
async def on_message(message):
# 檢查是否有圖片附件
for attach in message.attachments:
# 檢查圖片格式
if attach.filename.endswith((".jpg", ".png")):
# 下載圖片
download_image(attach.url, attach.filename)
# 檢查是否有指令
if message.content.startswith("!prompt"):
# 取得文章標題
headline = message.content.split(" ", 1)[1]
# 產生圖片
Generate_Prompt(headline)
await bot.process_commands(message)
確保將 YOUR_TOKEN_HERE
替換為你的 OpenAI 憑證權杖。
以上是整個自動化的流程,通過這個流程,你可以自動使用網路爬蟲觸發 MidJourney 生成圖片並下載到本地端。
FAQ:
Q: 如何設置 Discord 伺服器?
A: 在 Discord 上建立新的伺服器,點擊「加號」符號,選擇「建立伺服器」,並為其指定一個名稱。
Q: 如何邀請機器人加入 Discord 伺服器?
A: 在機器人設定中,點擊「新增機器人」,選擇 MidJourney 機器人,然後選擇你的伺服器,並授予機器人相關權限。
Q: 如何取得 Discord 機器人的身份驗證權杖?
A: 在機器人設定中,點擊「重置權杖」,然後複製生成的身份驗證權杖。
Q: 如何建立 Discord 應用程式?
A: 在 discord.com/developers 上建立新的應用程式,並為其指定一個名稱。
Q: 如何取得 Discord 機器人的 OAuth 連結?
A: 在應用程式設定中,到「授權」選單,選擇機器人要加入的伺服器,然後複製 OAuth 連結。