如何使用 beautifulsoup 从 xml 数据字符串中过滤出带空格的正确单词

how to filter out correct words with spaces from a lxml data string using beatifulsoup

嗨 guyz 我正在处理包含大量 html 数据的字符串(在单个字符串中)

from bs4 import BeautifulSoup
import requests
import bs4
url = "any randome url"
html = requests.get(url).text
soup = BeautifulSoup(html,'lxml')
web_page=soup.get_text().strip()
print(web_page.lower())

有些单词会像

一样输出

conditionstravel 对于 conditions & travel

vaccinationstreatment 对于 vaccination & treatment

正在抓取的网页是正确的,但这不是预期的,

bcoz 一些标签以文本 conditions 结尾,下一个标签以 travels 开始文本,所以这就是为什么它会像 conditionstravel

这里我愿意抓取网页一个一个标签做成web_page_data_list 那么有什么方法可以抓取所有具有单独状态的标签文本,如上面

问题是我们不能为此给出具体的字典词 是否可以用漂亮的汤或任何其他包装来帮助正确提取它。?

.get_text()方法中使用separator=' '参数。您还可以提供 strip=True 以自动去除每个分隔单词的空白字符。

例如:

import bs4
from bs4 import BeautifulSoup

txt = '''<div>Hello<span>World</span></div>'''

soup = BeautifulSoup(txt, 'html.parser')
web_page=soup.get_text(strip=True, separator=' ')
print(web_page.lower())
print(bs4.__version__)

打印:

hello world
4.9.1