美丽的汤在源文件中找到标记的位置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了美丽的汤在源文件中找到标记的位置?相关的知识,希望对你有一定的参考价值。

我正在使用BeautifulSoup从html文件中提取信息。我希望能够捕获信息的位置,即BS标签对象的标签的HTML文件中的偏移量。

有没有办法做到这一点?

我目前正在使用lxml解析器,因为它是默认值。

答案

如果我正确地阅读您的问题,您正在使用BeautifulSoup解析一些HTML,然后使用汤来识别标签。获得标记后,您将尝试在原始html字符串中查找标记的索引位置。

使用BeautifulSoup捕获标记的索引位置的问题是,汤将根据给定的解析器改变html的结构。 lxml解析可能不会为字符表示提供字符,尤其是在汤中找到标记之后。

如果这将始终有效,那就太好了,但您可以尝试使用字符串的find方法来查找标记文本内容的位置,该文​​本内容应保持基本不变。

#!python
# html is a string containing your html document
soup = BeautifulSoup(html,'lxml')
# target is the tag you want to find
target = soup.find('p')
# now we locate the text of the target inside of the html document
html.find((target.text))

此方法不会从标记的开头开始,但应该能够在html中找到标记的内容。

如果你想知道汤体内标签的索引,那就更可行了。

以上是关于美丽的汤在源文件中找到标记的位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在带有 BS4 的 HTML 代码中找到这个通用标签(美丽的汤)

用美丽的汤刮痧数据

美丽的汤 CSS 选择器没有找到任何东西

美丽的汤找不到标签

美丽的汤,使用“findAll()”时完全匹配

美丽的汤 - 几个属性搜索