手順
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でWebリクエストを送るときによく使われるライブラリの1つです。proxiesの値にProxySupのゲートウェイのアドレスを入れると、すぐに接続できます。
ガイドを見るPlaywrightにプロキシを接続する
Playwrightは、ブラウザをコードで動かすツールです。ブラウザを起動するときにproxyオプションにゲートウェイ、ユーザー名、トークンを入れると、すべてのページのリクエストがProxySupを通ります。
ガイドを見る