逐步操作
Scrapy連接代理的步驟
從上到下依序操作即可。請把 YOUR_TOKEN 換成您的存取權杖。
第 1 步
安裝 Scrapy
終端機 pip install scrapy第 2 步
基本連線
程式碼 import scrapy class PriceSpider(scrapy.Spider): name = "price" start_urls = ["https://ipinfo.io/json"] custom_settings = {"CONCURRENT_REQUESTS_PER_DOMAIN": 4} def start_requests(self): for url in self.start_urls: yield scrapy.Request(url, meta={ "proxy": "http://user-country-de:[email protected]:7777" }) def parse(self, response): yield {"body": response.text}第 3 步
使用固定工作階段
需要修改的部分 meta={"proxy": "http://user-country-de-session-a1b2:[email protected]:7777"} # 登入後連續瀏覽多個頁面時,請使用同一個工作階段名稱第 4 步
檢查連線
回應範例 { "ip": "203.0.113.24", "country": "US", "org": "家用網路業者" }
使用者名稱
使用者名稱規則
在使用者名稱中依序加入值,指定國家、城市、工作階段和產品。
| 值 | 作用 |
|---|---|
country-國家代碼 | 指定要連線的國家 |
city-城市名稱 | 進一步指定城市。只用於支援城市定位的國家 |
session-名稱 | 開啟固定工作階段。名稱相同就會使用同一 IP |
type-mobile 或 type-dc | 切換成行動或資料中心代理。沒有寫就是住宅代理 |
使用者名稱這樣組合
user開頭country-us國家session-a1b2固定工作階段結果 user-country-us-session-a1b2
問題排解
Scrapy連線錯誤排解
出現 407 錯誤
代表使用者名稱或權杖有誤。請確認權杖前後沒有空格,並確認使用者名稱以 user- 開頭。
連線逾時
把 timeout 調整到 30 秒左右,並減少對同一網站的同時請求數。
無法維持同一 IP
請確認使用者名稱中有 session 值。固定工作階段最長維持 30 分鐘。
無法定位到想要的城市
請在支援國家頁面確認該國是否支援城市定位,並用英文小寫字母和底線填寫城市名稱。
更多
其他串接指南
在 Python requests 中使用代理
requests 是 Python 最常用的網頁請求函式庫之一。在 proxies 填入 ProxySup 閘道位址,就能直接連線。
查看指南為 Playwright 連接代理
Playwright 是用程式碼操作瀏覽器的工具。啟動瀏覽器時在 proxy 選項填入閘道、使用者名稱和權杖,所有頁面請求都會經過 ProxySup。
查看指南