猿问

为什么无法使用 BeautifulSoup 找到和提取 br 标签

我想在 div 中搜索特定的 br 标签(每个 div 中的最后一个 br 标签,如 text3、text6、text9):


<li class="odd"> text1 <br>   text2 <br>   text3 <br>    text4</li>

<li class="odd"> text4  <br>   text5  <br> text6 </li>

...

<li class="odd"> text7 <br>   text8  <br>  text9  <br>   text10</li>

这是我使用的代码:


from bs4 import BeautifulSoup

import requests

URL = '...'

content = requests.get(URL)

soup = BeautifulSoup(content.text, 'lxml')

contentTable  = soup.find_all("li", {"class": "odd"})

for li in contentTable:

    print(li.text)

输出是这样的:


文本 1 文本 2 文本 3 文本 4 ...文本 9


现在我的问题是我不知道如何只提取和找到我想要的 br 标签。


喵喔喔
浏览 144回答 1
1回答

慕侠2389804

您可以使用stripped_strings而不是text:from bs4 import BeautifulSoupimport requestsURL = '...'content = requests.get(URL)soup = BeautifulSoup(content.text, 'lxml')contentTable  = soup.find_all("li", {"class": "odd"})for li in contentTable:    li_contents = list(li.stripped_strings)     print(li_contents)输出:['text1', 'text2', 'text3', 'text4']['text4', 'text5', 'text6']['text7', 'text8', 'text9', 'text10']
随时随地看视频慕课网APP

相关分类

Python
我要回答