首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在HTML文件中找到一个字符串并返回它的XPath?

有没有办法在HTML文件中找到一个字符串并返回它的XPath?
EN

Stack Overflow用户
提问于 2019-03-20 05:02:29
回答 1查看 50关注 0票数 0

我正在尝试在一个刮板中进行逆向工程,以生成一个模型来提取数据。

因此,我知道页面的标题,并希望在HTML码中查找它,然后将XPath或CSS Selector返回到这个位置。

我在我的项目中使用了Scrapy,但是,对于这个逆向工程,我想也许Beautiful Soup 4和lxml解析器的结合也可以帮助我。我只是还没有找到任何关于它的文档。

有谁知道有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-20 07:04:14

如果您实际使用的是lxml,则可以使用getpath()...

代码语言:javascript
复制
from lxml import etree

xml = """
<doc>
    <one>
        <two>
            <test>foo</test>
        </two>
        <two>
            <test>bar</test>
        </two>
    </one>
</doc>
"""

tree = etree.fromstring(xml)

for match in tree.xpath("//*[contains(text(),'bar')]"):
    print(etree.ElementTree(tree).getpath(match))

这将打印:

代码语言:javascript
复制
/doc/one/two[2]/test
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55249936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档