使用 bs4 进行网页抓取。如果字符串没有关联的标签,我该怎么办



我正在使用bs4进行网页抓取。我在标签中获取所需的字符串没有问题,但似乎有一个字符串没有任何关联的标签(也许我错了)。

所以html格式看起来像这样:

<li class='A'>
   <span class='B'> Some_string_here </span>
   " MY DESIRED STRING "
   <div class='C'> Some_string_here </div>
</li>
我知道如何获得"

这里的一些字符串",但我不知道如何获得"我的愿望字符串"

提前非常感谢!!

有多种方法可以做到这一点:

>>> s = """
... <li class='A'>
...    <span class='B'> Some_string_here </span>
...    " MY DESIRED STRING "
...    <div class='C'> Some_string_here </div>
... </li>
... """
>>> from bs4 import BeautifulSoup
>>> tree = BeautifulSoup(s)

使用contents

>>> tree.li.contents
['n', <span class="B"> Some_string_here </span>, 'n   " MY DESIRED STRING "n   ', <div class="C"> Some_string_here </div>, 'n']
>>> tree.li.contents[2].strip()
'" MY DESIRED STRING "'

使用 stringsstripped_strings

>>> list(tree.li.stripped_strings)
['Some_string_here', '" MY DESIRED STRING "', 'Some_string_here']

使用find_all

>>> tree.li.find_all(text=True, recursive=False)
['n', 'n   " MY DESIRED STRING "n   ', 'n']

可能还有其他几种方法...

相关内容

  • 没有找到相关文章

最新更新