Python を使用した Web クローラーの構築: Web ページからのデータの抽出
ウェブ スパイダー、またはウェブ クローラーは、インターネットを移動し、ウェブ ページから指定されたデータを収集および抽出するように設計された自動プログラムです。明確な構文、広範なライブラリ、活発なコミュニティで知られる Python は、これらのクローラーを構築するための推奨言語として浮上しています。このチュートリアルでは、潜在的なソリューションとして 98IP プロキシを使用して、クローラ対策を克服するための戦略を含む、データ抽出用の基本的な Python Web クローラを作成するためのステップバイステップのガイドを提供します。
私。環境のセットアップ
1.1 Python のインストール
Python がシステムにインストールされていることを確認してください。優れたパフォーマンスと幅広いライブラリのサポートのため、Python 3 をお勧めします。 Python の公式 Web サイトから適切なバージョンをダウンロードします。
1.2 必須ライブラリのインストール
Web クローラーを構築するには、通常、次の Python ライブラリが必要です。
-
requests
: HTTP リクエストの送信用。 -
BeautifulSoup
: HTML の解析とデータの抽出用。 -
pandas
: データの操作と保存用 (オプション)。 -
time
やrandom
などの標準ライブラリ: 遅延を管理し、アンチクローラー メカニズムによる検出を回避するためにリクエストをランダム化します。
pip を使用してこれらをインストールします:
pip install requests beautifulsoup4 pandas
II.クローラーを作成する
2.1 HTTP リクエストの送信
requests
ライブラリを使用して Web ページのコンテンツを取得します:
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}')
2.2 HTML の解析
BeautifulSoup を使用して HTML を解析し、データを抽出します。
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())
2.3 クローラー対策の回避
Web サイトでは、IP ブロックや CAPTCHA などのクローラー対策技術が採用されています。これらを回避するには:
- リクエスト ヘッダーの設定: 上で示したように、
User-Agent
やAccept
などのヘッダーを設定してブラウザーの動作を模倣します。 - プロキシ IP を使用する: プロキシ サーバーを使用して IP アドレスをマスクします。 98IP プロキシのようなサービスは、IP 禁止を回避するために多数のプロキシ IP を提供します。
98IP プロキシの使用 (例):
98IP プロキシからプロキシ IP とポートを取得します。 次に、この情報を requests
呼び出しに組み込みます。
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)
注: 堅牢なクロールを実現するには、98IP から複数のプロキシ IP を取得し、それらをローテーションして、単一 IP のブロックを防ぎます。 プロキシの障害を管理するためにエラー処理を実装します。
- 遅延の導入: 人間のブラウジングをシミュレートするために、リクエスト間にランダムな遅延を追加します。
- CAPTCHA 処理: CAPTCHA については、OCR (光学式文字認識) またはサードパーティの CAPTCHA 解決サービスを調べてください。 ウェブサイトの利用規約に注意してください。
III.データの保存と処理
3.1 データの永続性
抽出したデータをファイル、データベース、またはクラウド ストレージに保存します。 CSV に保存する方法は次のとおりです:
pip install requests beautifulsoup4 pandas
以上がPython を使用した Web クローラーの構築: Web ページからのデータの抽出の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









