如何使用 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
嗨 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