串接指南

為 Scrapy 連接代理

Scrapy 是用來打造大量收集頁面的爬蟲的 Python 工具。在請求的 meta 填入 proxy,每個請求都會經過 ProxySup。

  • 一個網關地址即可連線
  • 用用戶名稱指定國家和會話
  • 密碼欄位填入存取令牌

連線所需資訊

網關
gate.proxysup.com:7777
用戶名稱
user-country-國家代碼
密碼
賬戶的存取令牌
最後更新
  • 1 行安裝
  • 4 步即可完成
  • 最長 30 分鐘固定會話
  • HTTP, HTTPS, SOCKS5

逐步操作

Scrapy連接代理的步驟

從上到下依序操作即可。請把 YOUR_TOKEN 換成您的存取令牌。

  1. 第 1 步

    安裝 Scrapy

    終端機
    pip install scrapy
  2. 第 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. 第 3 步

    使用固定會話

    需要修改的部分
    meta={"proxy": "http://user-country-de-session-a1b2:[email protected]:7777"}
    # 登入後連續瀏覽多個頁面時,請使用同一個會話名稱
  4. 第 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。

    查看指南

馬上連接 Scrapy

註冊後馬上取得存取令牌。增值後就能直接使用上面的程式碼。