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