ホームページ  >  記事  >  バックエンド開発  >  BeautifulSoup で XPath を使用するにはどうすればよいですか?

BeautifulSoup で XPath を使用するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-08 06:26:01602ブラウズ

How can I use XPath with BeautifulSoup?

BeautifulSoup で XPath を使用する

BeautifulSoup は、HTML ドキュメントを解析して操作するための人気のある Python ライブラリです。ただし、XPath 式はネイティブにサポートされていません。

代替: lxml

lxml と呼ばれる代替ライブラリは、XPath 1.0 の完全なサポートを提供します。 BeautifulSoupと同様に壊れたHTMLを解析できるBeautifulSoup互換モードもあります。 lxml で XPath を使用するには:

from lxml import etree
from urllib import request

url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
response = request.urlopen(url)
tree = etree.parse(response, etree.HTMLParser())
result_list = tree.xpath("/html/body/div/table/tbody/tr[1]/td[1]")

lxml での CSS セレクターの使用

lxml には CSSSelector サポートもあり、CSS ステートメントを XPath 式に変換できます。たとえば、empformbody クラスの td 要素を検索するには:

from lxml.cssselect import CSSSelector

css_selector = CSSSelector('td.empformbody')
result_list = css_selector(tree)

BeautifulSoup の CSS セレクター

興味深いことに、BeautifulSoup には独自の CSS セレクター サポートがあります。

soup = BeautifulSoup(html, "html.parser")
result_list = soup.select('table#foobar td.empformbody')

以上がBeautifulSoup で XPath を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。