获取指向包含某些文本的标签的xpath

lou

我正在尝试找到网页上某些文本的xpath。如果您要访问https://www.york.ac.uk/teaching/cws/wws/webpage1.html并尝试获取“ EXERCISE”的xpath,它将类似于“ html body html table tbody tr td div h4”。如果转到该页面,请右键单击“ EXERCISE”并检查它,您可以在代码底部(chrome)中看到该路径。

我尝试了无数路。没有一个能获得理想的结果。这是我最近得到的:

soup = BS(page, 'html.parser')
tags = [{"name":tag.name,"text":tag.text,"attributes":tag.attributes} for tag in soup.find_all()]
s = ''
for t in tags:
    if "EXERCISE" in t['text']:
        s = s + t['name'] + " "
print(s)

首先,我需要获取“ html body html table tbody tr td div h4”,但最终在页面更复杂的情况下,我还需要获取标签属性

谢谢!

杰克·弗莱汀

使用lxml:

url = 'https://www.york.ac.uk/teaching/cws/wws/webpage1.html'

import requests
from lxml import etree
parser = etree.HTMLParser()
page  = requests.get(url,headers={"User-Agent":"Mozilla/5.0"})

root = etree.fromstring(page.content,parser)

tree = etree.ElementTree(root)
e = root.xpath('.//*[text()="EXERCISE"]')
print(tree.getpath(e[0]))

输出:

/ html / body / hmtl / table / tr / td / div [2] / h4

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用BeautifulSoup查找包含某些文本的HTML标签

Unix命令获取不包含某些文本的行

使用XPath从孙子获取文本并包含功能

xpath语法,用于在包含标题文本的强标签之后获取文本数据

Xpath从多个标签获取文本内容

使用香草javascript隐藏包含某些文本的标签

如何获取标签之间包含特定字符串的文本

如何在Span标签之间获取文本XPATH Python

如何从包含标签文本的<svg>标签中获取文本

在xpath中获取文本值而不包含脚本

XPATH:如何在某些文本或标签之后定位值

Xpath:获取包含其他标签的标签内的文本

Xpath-条件包含标签时检索文本值

Xpath,在Google表格中获取包含文本和图像的表格

由于某些原因无法从p标签获取文本-Selenium(Python)

如何使用beautifulsoup获取包含在包含多个子标签的标签中的文本?

Xpath:获取某些值

Xpath如何从子级获取文本内容(除某些标签外)

如何获取包含特定文本的<span>标签的父级

从标签标签获取文本

使用xpath获取文章文本,但省略一些标签

在XPath中跟随标签获取文本

Xpath获取除<script>之外的任何包含子文本的标签

使用 xpath 选择包含标签的文本

如何获取包含特定文本的输入标签的数量?

如何使用 xpath 获取 selenium 标签上的文本?

如何为 <br> 标签中包含的文本编写 xpath?

用于返回指向包含 xml 文件中某些字符串的文本节点的绝对静态 xpath 的工具

xpath 获取 IMPORTXML 公式中 2 个标签之间的文本