ガイド、チュートリアル & インサイト
Shifterチームが提供するレジデンシャルプロキシ、ウェブスクレイピング、データ収集戦略、業界のベストプラクティスについて学ぶ。
厳重に保護されたサイトをスクレイピングする方法:プレーンリクエストからフルステルスまでのエスカレーションラダー
すべてのスクレイピングを最大ステルスで実行する必要はない。労力をターゲットに合わせ、プレーンなクライアントとクリーンなIPから始め、サイトがそれを強制する場合にのみ段階を上げること。
ログインが必要なサイトをスクレイピングする方法:セッション、Cookie、そして大規模なスティッキープロキシ
ログインの背後でのスクレイピングは、ローテーションではなくアイデンティティの問題である。セッションCookieを維持し、各アカウントを1つのクリーンなスティッキーIPに固定し、BANされることなくログイン状態を保つこと。
スクレイパーがページを読み込む前にブロックされる理由:TLSとHTTP/2フィンガープリンティング
クリーンなレジデンシャルIP、本物のUser-Agentなのに、それでも即座にブロックされる?アンチボットはリクエストが読まれる前に、TLSとHTTP/2の層でHTTPクライアントをフィンガープリントしている。
アンチデテクトブラウザとは何か、レジデンシャルプロキシがどう関わるか
アンチデテクトブラウザは、プロファイルごとに独自のデバイスフィンガープリントを与える。しかし、それはアイデンティティの半分にすぎず、IPがもう半分であり、両者は一致していなければならない。
Scrapyでカスタムミドルウェアを使ってレジデンシャルプロキシをローテーションする方法
Scrapyはmeta経由でプロキシを設定するが、Proxy-Authorizationのキャッシュに関する問題がローテーションを崩してしまう。IDをローテーションし、ブロック時にリトライするカスタムミドルウェアを紹介する。
Selenium でレジデンシャルプロキシを使う方法(認証付きプロキシを含む)
Selenium はプロキシホストの設定は簡単に行えますが、認証情報を渡す組み込みの方法がありません。Selenium Wire、拡張機能、または CDP を使って認証付きプロキシを扱う方法を解説します。
ページネーションと無限スクロールを大規模かつ確実にスクレイピングする方法
ページネーションはスクレイパーが気づかぬうちにデータを失う箇所だ。ページの飛ばし、重複カウント、途中終了などが起こる。すべての項目を一度だけ取得し、完了したことを正しく判定する方法を解説する。
Shifter vs Decodo: 5カ国で稼働中の全IPを数えてみた
Shifterは$0.75/GBから、Decodoは$2.75。5カ国でそれぞれ560,000件のリクエストを送信し、ユニークな出口IPをすべて数えた。完全な結果と手法はこちら。
Puppeteerでレジデンシャルプロキシを使う方法(page.authenticateを含む)
Puppeteerにおけるプロキシ: プロキシはlaunch argsで指定し、認証情報はpage.authenticateで渡し、1つのゲートウェイを通じてページ単位でジオローテーションを行い、リソースをブロックする。