如何使用 BS4 和 LXML 获取 xpath

Posted

技术标签:

【中文标题】如何使用 BS4 和 LXML 获取 xpath【英文标题】:How to get with xpath using BS4 and LXML 【发布时间】:2021-12-24 05:38:19 【问题描述】:

我尝试从网站获取txt,我正在使用BS4解析网站

<ul class="sub-data-list">
<li>Monday : 11:00 - 18:00</li>
</ul>

这是来自网站的来源(来自检查元素)

这是我尝试获取数据的代码

from bs4 import BeautifulSoup
from lxml import etree
from lxml import html
import requests

URL = "https://example.com"


webpage = requests.get(URL)
soup = BeautifulSoup(webpage.content, "html.parser")
dom = etree.HTML(str(soup))



print("საათი: :", dom.xpath('//*[@class="data-list"]')[0].text)

我也试试[0].text , [1].text之类的,还有其他方法吗?

【问题讨论】:

实际网址是什么? 请提供 URL/HTML 代码以帮助您解决问题。 【参考方案1】:

如果您尝试获取 &lt;li&gt; 元素的内容,请尝试以下操作:

from bs4 import BeautifulSoup

html = """<ul class="sub-data-list">
<li>Monday : 11:00 - 18:00</li>
</ul>"""

soup = BeautifulSoup(html, "html.parser")
ul = soup.find('ul', class_='sub-data-list')
print(ul.li.text)

【讨论】:

以上是关于如何使用 BS4 和 LXML 获取 xpath的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫——使用XPath和lxml库解析HTML

关于爬虫中常见的两个网页解析工具的分析 —— lxml / xpath 与 bs4 / BeautifulSoup

python之lxml(xpath)

bs4和xpath的用法

Python:数据解析(bs4 / xpath)

python学习——xpath