lxml の XPath 機能は BeautifulSoup と統合できますか?

Susan Sarandon
リリース: 2024-11-08 17:21:02
オリジナル
907 人が閲覧しました

Can lxml's XPath Capabilities Integrate with BeautifulSoup?

XPath は BeautifulSoup と統合できますか?

HTML 解析ライブラリである BeautifulSoup を使用すると、ユーザーは findAll などのメソッドを使用して特定のタグを取得できます。ただし、XPath 式はサポートされていません。

lxml を入力してください

lxml は代替ライブラリであり、XPath サポートを提供し、BeautifulSoup 互換モードを備えています。 lxml の標準 HTML パーサーは、壊れた HTML の処理において BeautifulSoup と同等のパフォーマンスを発揮し、より高速な処理を提供する可能性があります。

lxml の XPath 機能を使用するには:

  1. etree を使用して HTML ドキュメントを lxml ツリーに解析します。 .parse() メソッド。
  2. Tree.xpath() メソッドを使用して、指定した XPath 式に一致する要素を取得します。

lxml とリクエスト ライブラリを使用した例

import lxml.html
import requests

url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
response = requests.get(url, stream=True)
response.raw.decode_content = True
tree = lxml.html.parse(response.raw)
tree.xpath(xpathselector)
ログイン後にコピー

CSS セレクターlxml によるサポート

CSSSelector クラスは CSS を変換します構文を XPath 式に組み込み、特定の要素の検索を簡素化します。

from lxml.cssselect import CSSSelector

td_empformbody = CSSSelector('td.empformbody')
for elem in td_empformbody(tree):
    # Process found elements.
ログイン後にコピー

BeautifulSoup による CSS セレクター サポート

BeautifulSoup は、包括的な CSS セレクター サポートをネイティブに提供し、同じ機能を可能にします。 lxml の CSSSelector クラスとして:

for cell in soup.select('table#foobar td.empformbody'):
    # Process found elements.
ログイン後にコピー

以上がlxml の XPath 機能は BeautifulSoup と統合できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!