ホームページ > バックエンド開発 > Python チュートリアル > BeautifulSoup で XPath を使用するにはどうすればよいですか?

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

Linda Hamilton
リリース: 2024-11-08 06:26:01
オリジナル
702 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート