人気の Python パッケージである BeautifulSoup は、Web スクレイピングの効果的なツールとして機能し、データを抽出するための堅牢な関数セットを提供しますHTMLドキュメントから。ただし、その機能は主に HTML の解析と操作に焦点を当てており、XPath 式のネイティブ サポートが不足しています。
幸いなことに、これを組み込むための代替ソリューションがあります。スクレイピング プロセスへの XPath。 lxml ライブラリは、XPath サポートを含む、XML および HTML 解析ツールの包括的なスイートを提供します。 lxml を BeautifulSoup ワークフローに統合するには、次の手順に従います。
XPath に lxml を使用する方法を示す例を次に示します。クエリ:
import lxml.etree from urllib.request import urlopen url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html" response = urlopen(url) htmlparser = lxml.etree.HTMLParser() tree = lxml.etree.parse(response, htmlparser) result = tree.xpath("//td[@class='empformbody']")
lxml の HTML パーサーと BeautifulSoup の HTML パーサーには独自の長所と制限があることに注意することが重要です。 lxml は XPath サポートを提供しますが、その HTML パーサーは、不正な形式の HTML を処理する際に BeautifulSoup ほど寛大ではない可能性があります。互換性を最適化するために、BeautifulSoup を使用して HTML ドキュメントを解析し、結果の BeautifulSoup オブジェクトを lxml ツリーに変換できます。
BeautifulSoup は XPath を直接サポートしていませんが、lxml ライブラリを使用します。 BeautifulSoup と並んで、XPath クエリをスクレイピング ワークフローに組み込むための堅牢なソリューションを提供します。これにより、XPath 式の力を利用して HTML ドキュメントからデータを正確に抽出できます。
以上がWeb スクレイピングに BeautifulSoup で XPath を使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。