ホームページ >バックエンド開発 >Python チュートリアル >Python を使用した Web クローラーの構築: Web ページからのデータの抽出
ウェブ スパイダー、またはウェブ クローラーは、インターネットを移動し、ウェブ ページから指定されたデータを収集および抽出するように設計された自動プログラムです。明確な構文、広範なライブラリ、活発なコミュニティで知られる Python は、これらのクローラーを構築するための推奨言語として浮上しています。このチュートリアルでは、潜在的なソリューションとして 98IP プロキシを使用して、クローラ対策を克服するための戦略を含む、データ抽出用の基本的な Python Web クローラを作成するためのステップバイステップのガイドを提供します。
Python がシステムにインストールされていることを確認してください。優れたパフォーマンスと幅広いライブラリのサポートのため、Python 3 をお勧めします。 Python の公式 Web サイトから適切なバージョンをダウンロードします。
Web クローラーを構築するには、通常、次の Python ライブラリが必要です。
requests
: HTTP リクエストの送信用。BeautifulSoup
: HTML の解析とデータの抽出用。pandas
: データの操作と保存用 (オプション)。time
や random
などの標準ライブラリ: 遅延を管理し、アンチクローラー メカニズムによる検出を回避するためにリクエストをランダム化します。pip を使用してこれらをインストールします:
<code class="language-bash">pip install requests beautifulsoup4 pandas</code>
requests
ライブラリを使用して Web ページのコンテンツを取得します:
<code class="language-python">import requests url = 'http://example.com' # Replace with your target URL headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # Mimics a browser response = requests.get(url, headers=headers) if response.status_code == 200: page_content = response.text else: print(f'Request failed: {response.status_code}')</code>
BeautifulSoup を使用して HTML を解析し、データを抽出します。
<code class="language-python">from bs4 import BeautifulSoup soup = BeautifulSoup(page_content, 'html.parser') # Example: Extract text from all <h1> tags. titles = soup.find_all('h1') for title in titles: print(title.get_text())</code>
Web サイトでは、IP ブロックや CAPTCHA などのクローラー対策技術が採用されています。これらを回避するには:
User-Agent
や Accept
などのヘッダーを設定してブラウザーの動作を模倣します。98IP プロキシの使用 (例):
98IP プロキシからプロキシ IP とポートを取得します。 次に、この情報を requests
呼び出しに組み込みます。
<code class="language-python">proxies = { 'http': f'http://{proxy_ip}:{proxy_port}', # Replace with your 98IP proxy details 'https': f'https://{proxy_ip}:{proxy_port}', # If HTTPS is supported } response = requests.get(url, headers=headers, proxies=proxies)</code>
注: 堅牢なクロールを実現するには、98IP から複数のプロキシ IP を取得し、それらをローテーションして、単一 IP のブロックを防ぎます。 プロキシの障害を管理するためにエラー処理を実装します。
抽出したデータをファイル、データベース、またはクラウド ストレージに保存します。 CSV に保存する方法は次のとおりです:
<code class="language-bash">pip install requests beautifulsoup4 pandas</code>
以上がPython を使用した Web クローラーの構築: Web ページからのデータの抽出の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。