Hrequests を使用して Web スクレイピングを行う方法

Lucas Mitchell
Automation Engineer
04-Sep-2024
WebスクレイピングにHrequestsを使用する方法

Webスクレイピングは、Webサイトから情報を抽出するための強力な方法ですが、サイトがCAPTCHA、レート制限、またはプロキシを実装して不要なスクレーパーをブロックする場合、しばしば課題となります。このガイドでは、高性能なWebスクレイピングライブラリであるhrequestsを紹介します。また、hrequestsの基本的な使用方法を説明します。これには、Capsolverと組み合わせたhrequestsを使用してサイトをスクレイピングするデモが含まれます。これにより、ReCaptchaの課題を回避できます。
hrequestsとは?
hrequestsは、速度と柔軟性を重視して構築された、最新のPython HTTPライブラリです。負荷の高いWebスクレイピングタスクを処理するために設計されています。これは、本質的にrequestsの拡張バージョンであり、特に追加のプロキシやCAPTCHA処理を必要とする環境において、より多くの制御でリクエストを処理することに重点を置いています。
このライブラリは、いくつかの機能を提供します。
- Asyncioのサポートは、同時リクエストを行うために使用できます。
- セッションの処理は、接続を効率的に再利用するために使用できます。
- プロキシのサポートは、プロキシの背後にあるリクエストを処理するために使用できます。
- レート制限のサポートは、ブロックされるのを回避するために使用できます。
- CAPTCHA解決のサポートは、外部サービスを使用して使用できます。
前提条件
hrequestsの使用を開始する前に、以下のものがインストールされていることを確認してください。
bash
pip install hrequests capsolver
スクレイピングするサイトが要求する場合、CAPTCHAを解決するためのCapsolver APIキーも用意してください。詳細なセットアップ手順については、hrequestsのGitHubページをご覧ください。
hrequestsの使い始め
以下は、hrequestsを使用してWebページをスクレイピングする方法の簡単な例です。
python
import hrequests
# スクラップしたいWebページのURL
url = 'https://example.com'
# 単純なGETリクエストを行う
response = hrequests.get(url)
# ステータスコードを出力
print(response.status_code)
python
print(f"ステータスコード: {response.status_code}")
# ページのコンテンツを出力します
print(f"ページコンテンツ: {response.text}")
この基本的なスクリプトは、指定されたURLへのGETリクエストを行い、ステータスコードとページコンテンツを出力します。ただし、多くのWebサイトはより複雑であり、プロキシローテーション、ユーザーエージェントのスプーフィング、またはCAPTCHAの解決などの追加の処理が必要です。
Capsolverとhrequestsを使用したCAPTCHAの処理
このセクションでは、CAPTCHAをバイパスするためにCapsolverをhrequestsと統合する方法について説明します。Capsolverは、ReCaptcha V2など、さまざまな種類のCAPTCHAの解決を支援する外部サービスです。これはWebサイトで一般的に使用されています。
Capsolverを使用してReCaptcha V2を解決し、CAPTCHAを最初に解決する必要があるページのコンテンツをスクレイピングする方法を紹介します。
例:Capsolverを使用したReCaptcha V2の解決
python
import capsolver
import hrequests
import os
# 機密情報の環境変数の使用を検討してください
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "あなたのCapsolver APIキー")
PAGE_URL = os.getenv("PAGE_URL", "PAGE_URL")
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "PAGE_SITE_KEY")
def solve_recaptcha_v2(url, key):
solution = capsolver.solve({
"type": "ReCaptchaV2Task",
"websiteURL": url,
"websiteKey": key,
"proxy": PROXY
})
return solution['solution']['gRecaptchaResponse']
def main():
print("ReCaptcha v2を解決しています")
solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
print("解決策: ", solution)
# CAPTCHAが解決されたので、スクレイピングを続行できます
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
# CAPTCHAソリューションを使用してGETリクエストを送信します
response = hrequests.get(
PAGE_URL,
headers=headers,
data={"g-recaptcha-response": solution},
python
proxies = {"http": PROXY, "https": PROXY}
)
# ステータスを確認し、ページの内容を出力
if response.status_code == 200:
print("ページを取得しました!")
print(response.text)
else:
print(f"ページの取得に失敗しました。ステータスコード: {response.status_code}")
if __name__ == "__main__":
main()
このスクリプトを拡張して、スクレイピングのニーズに合わせてください。hrequestsが提供する追加機能も試してみてください。スクレイピング活動がウェブサイトの利用規約と法的ガイドラインに従っていることを常に確認してください。
ハッピー・スクレイピング!
コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。
もっと見る

ScraplingとCapSolverを用いたウェブスクラッピング時のキャプチャの解き方
Scrapling + CapSolver は、ReCaptcha v2/v3 および Cloudflare Turnstile のバイパスを備えた自動スクリーピングを可能にします。

Sora Fujimoto
05-Dec-2025

SeleniumでのUser-Agentの変更 | ステップとベストプラクティス
SeleniumでUser Agentを変更することは、多くのウェブスクレイピングタスクにおいて重要なステップです。これは自動化スクリプトを通常のブラウザのように見せかけるために役立ちます...

Sora Fujimoto
05-Dec-2025

CapSolver拡張機能を使用してCloudflare Turnstileを解決する際に`action`が必要かどうかを確認する方法
クラウドフレア・ターニスティルの効果的なCAPTCHAの解決方法を学びます。Capsolverのツールとテクニックを使用するためのステップバイステップのガイドに従ってください。

Nikolai Smirnov
05-Dec-2025

9Proxyの力の発見: 包括的なレビュー
本記事では、9proxyとは何かおよび彼らが提供するサービスについてご紹介します。

Anh Tuan
04-Dec-2025

ウェブスクリーニングにおけるキャプチャの解決 | セレニウムとパイソンによるウェブスクリーニング
この記事では、SeleniumとPythonを使用してウェブスクレイピングに慣れ親しむことになり、プロセスに関連するCaptchaを解決する方法を学び、効率的なデータ抽出に役立ちます。

Sora Fujimoto
04-Dec-2025

CapSolver Dashboard 3.0でレベルアップ!
CapSolver Dashboard 3.0は、強化されたインタラクションと多数の新機能を備えて新しくアップグレードされました。

Sora Fujimoto
04-Dec-2025

