Web ページ解析に Python 3.x の Beautiful Soup モジュールを使用する方法
はじめに:
Web ページを開発してデータをクロールするときは、通常、Web から必要なデータをキャプチャする必要があります。ページ。 Web ページの構造はより複雑であることが多く、正規表現を使用してデータを検索して抽出するのは困難で面倒になる場合があります。現時点では、Beautiful Soup は非常に効果的なツールとなり、Web ページ上のデータを簡単に解析して抽出するのに役立ちます。
Beautiful Soup の概要
Beautiful Soup は、HTML または XML ファイルからデータを抽出するために使用される Python サードパーティ ライブラリです。 lxml、html5lib などの Python 標準ライブラリの HTML パーサーをサポートします。
まず、pip を使用して Beautiful Soup モジュールをインストールする必要があります:
pip install beautifulsoup4
ライブラリをインポート
インストールが完了したら、Beautiful Soup モジュールを次の場所にインポートする必要があります。その機能を使用します。同時に、Web コンテンツを取得するためにリクエスト モジュールをインポートする必要もあります。
import requests from bs4 import BeautifulSoup
Web ページのコンテンツを取得するために HTTP リクエストを開始します
# 请求页面 url = 'http://www.example.com' response = requests.get(url) # 获取响应内容,并解析为文档树 html = response.text soup = BeautifulSoup(html, 'lxml')
タグ セレクター
Beautiful Soup を使用して Web ページを解析する前に、まず、ラベルを選択する方法を理解する必要があります。 Beautiful Soup は、シンプルで柔軟なタグ選択方法をいくつか提供します。
# 根据标签名选择 soup.select('tagname') # 根据类名选择 soup.select('.classname') # 根据id选择 soup.select('#idname') # 层级选择器 soup.select('father > son')
タグ コンテンツの取得
タグ セレクターに従って必要なタグを選択した後、一連のメソッドを使用してタグのコンテンツを取得できます。一般的に使用されるメソッドをいくつか示します。
# 获取标签文本 tag.text # 获取标签属性值 tag['attribute'] # 获取所有标签内容 tag.get_text()
完全な例
これは、Beautiful Soup を使用して Web ページを解析し、必要なデータを取得する方法を示す完全な例です。
import requests from bs4 import BeautifulSoup # 请求页面 url = 'http://www.example.com' response = requests.get(url) # 获取响应内容,并解析为文档树 html = response.text soup = BeautifulSoup(html, 'lxml') # 选择所需标签 title = soup.select('h1')[0] # 输出标签文本 print(title.text) # 获取所有链接标签 links = soup.select('a') # 输出链接的文本和地址 for link in links: print(link.text, link['href'])
概要:
この記事の導入部を通じて、Python の Beautiful Soup モジュールを使用して Web ページを解析する方法を学びました。セレクターを通じて Web ページ内のタグを選択し、対応するメソッドを使用してタグのコンテンツと属性値を取得できます。 Beautiful Soup は、Web ページを解析する便利な方法を提供し、開発作業を大幅に簡素化する強力で使いやすいツールです。
以上がbeautifulsoup モジュールを使用して Python 3.x で Web ページを解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。