xpath - 文本中带有点/句点的 XPATH 在创建为变量时不返回任何结果,但在使用文字时有效
问题描述
总新手边做边学。
我正在尝试从文章中提取文本。我能得到的唯一钩子是我想要的每个项目都以一个数字开头,后跟一个句点/点。
我遇到的问题是,如果我使用嵌入了句点/点的字符串,则 xpath 查询将返回一个值。如果我尝试通过组装字符串来创建字符串,这样我就可以改变数字,我在响应中什么也得不到
所以这有效:
baker = tree.xpath('/html/body/div[1]/main/article/div[2]/div[5]/div[*]/p[starts-with(text(),"62.")]/text()')
但这失败并出现语法错误:
nose = '/html/body/div[1]/main/article/div[2]/div[5]/div[*]/p[starts-with(text(),'
tail = ")]/text()')"
for i in range (2):
node = '"' + str(62) + '"'
path = nose + node + tail
baker = tree.xpath(path)
用于比较目的:字符串复制/粘贴返回一个值
/html/body/div[1]/main/article/div[2]/div[5]/div[*]/p[starts-with(text(),"62.")]/text()')
如上所述组装的字符串不返回任何内容
'/html/body/div[1]/main/article/div[2]/div[5]/div[*]/p[starts-with(text(),"62")]/text()\')'
我认为这与组装字符串末尾的反斜杠有关,但我似乎无法摆脱它
解决方案
我不明白:
tail = ")]/text()')"
为什么不只是:
tail = ')]/text()'
推荐阅读
- javascript - 是否有 Chrome API 可以访问响应模式以调整到自定义宽度和高度?
- html - 如何仅使用 html 在某个网站中显示没有标题的另一个网站?
- linux - Traefik:所有子目录返回 404
- python-3.x - 我想找到所有包含某些单词/单词的标题行,这些单词/单词要被抓取并保存到文本文件中
- python - 使用变量将数字转换为科学计数法python
- laravel - 将验证错误从 Laravel 控制器发送回 Vue 组件的正确方法是什么?
- ios - iOS应用程序空白navigationView在某些设备模拟器上打开屏幕,而不是在其他设备模拟器上
- java - Java欧拉数结果无穷大
- python - 币安 API 问题 - Python
- sql - 在 sql access 中为每个产品选择前 2 行