首页 > 后端开发 > Python教程 > 如何将 XPath 与 BeautifulSoup 一起使用?

如何将 XPath 与 BeautifulSoup 一起使用?

Linda Hamilton
发布: 2024-11-08 06:26:01
原创
705 人浏览过

How can I use XPath with BeautifulSoup?

将 XPath 与 BeautifulSoup 结合使用

BeautifulSoup 是一个流行的 Python 库,用于解析和操作 HTML 文档。但是,它本身并不支持 XPath 表达式。

替代方案:lxml

名为 lxml 的替代库提供完整的 XPath 1.0 支持。它还具有 BeautifulSoup 兼容模式,可以像 BeautifulSoup 一样解析损坏的 HTML。要将 XPath 与 lxml 结合使用:

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]")
登录后复制

将 CSS 选择器与 lxml 结合使用

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')
登录后复制

以上是如何将 XPath 与 BeautifulSoup 一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板