原因
AI 訓練數據收集為什麼需要代理
大量收集會在短時間內送出很多請求,一個 IP 很難長時間撐住。把請求分散到多個家居 IP,就不會集中在同一處,也能平均收集各國不同語言的文件。
用一個 IP 重複請求
- 請求 1198.51.100.7
- 請求 2198.51.100.7
- 請求 3198.51.100.7
分散到多個家居 IP 請求
- 請求 1203.0.113.11
- 請求 2203.0.113.27
- 請求 3203.0.113.42
步驟
AI 訓練數據收集操作步驟
- 第 1 步
決定要收集的網站和語言,並確認 robots.txt
- 第 2 步
為每個網站設定同時請求數和間隔
- 第 3 步
用輪換會話取得文件,同時儲存原文、網址和取得日期
- 第 4 步
過濾重複和空白的文件,整理成數據集
程式碼
AI 訓練數據收集程式碼範例
以 Python, Scrapy 為例。請把 YOUR_TOKEN 換成您的存取令牌。
import scrapy
class DocsSpider(scrapy.Spider):
name = "docs"
start_urls = ["https://example.com/articles"]
custom_settings = {"CONCURRENT_REQUESTS_PER_DOMAIN": 4, "DOWNLOAD_DELAY": 1}
def start_requests(self):
for url in self.start_urls:
yield scrapy.Request(url, meta={
"proxy": "http://user-country-us:[email protected]:7777"
})
def parse(self, response):
yield {"url": response.url, "html": response.text}- Python requests
- Playwright
- Scrapy
- Puppeteer
- Selenium
- Node.js
- curl
注意
AI 訓練數據收集時的注意事項
只收集 robots.txt 和使用條款允許的公開文件
含有個人資料的頁面不列入收集範圍
同時儲存取得日期和原始網址,日後比較容易確認出處