Python 如何获取循环内部文本的长度
如果在此之前使用for循环提取文本,那么如何获得一行中所有文档的文本长度Python 如何获取循环内部文本的长度,python,count,Python,Count,如果在此之前使用for循环提取文本,那么如何获得一行中所有文档的文本长度 import requests from bs4 import BeautifulSoup url = 'https://en.wikipedia.org/wiki/Mount_Olympus,_Utah' response = requests.get(url) soup = BeautifulSoup(response.content, 'lxml') text = soup.find_all('p') fo
import requests
from bs4 import BeautifulSoup
url = 'https://en.wikipedia.org/wiki/Mount_Olympus,_Utah'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'lxml')
text = soup.find_all('p')
for text2 in text:
r = text2.get_text().split()
print(len(r))
输出:
117
23
84
73
66
69
9
问题是它正在计算每一行。我希望文档的长度在一行中,如下所示:
441
在这里:
在这里:
总结起来:
total_length = 0
for text2 in text:
r = text2.get_text().split()
total_length += len(r)
print(total_length)
总结起来:
total_length = 0
for text2 in text:
r = text2.get_text().split()
total_length += len(r)
print(total_length)
您可以添加一个变量total_len,并根据每个元素的元素长度将其递增
导入请求
从bs4导入BeautifulSoup
url='1〕https://en.wikipedia.org/wiki/Mount_Olympus犹他州
response=requests.geturl
soup=BeautifulSoupresponse.content,“lxml”
text=soup.find_all'p'
总长度=0
对于文本中的文本2:
r=text2.get_text.split
总长度+=总长度
打印总数
您可以添加一个变量total_len,并根据每个元素的元素长度将其递增
导入请求
从bs4导入BeautifulSoup
url='1〕https://en.wikipedia.org/wiki/Mount_Olympus犹他州
response=requests.geturl
soup=BeautifulSoupresponse.content,“lxml”
text=soup.find_all'p'
总长度=0
对于文本中的文本2:
r=text2.get_text.split
总长度+=总长度
打印总数
您可以将列表理解与总和一起使用- printsum[lentext2.get_text.split for text2 in text] 所以,首先您要遍历text-对于text中的text2 然后,使用.get_text方法提取文本,将其拆分,并将其长度作为元素存储在列表-lentext2.get_text.split中 然后使用sum对该数组的所有元素求和,最后打印它
编辑:为了清楚起见,一行代码替换了循环的整个代码您可以使用列表理解和总和- printsum[lentext2.get_text.split for text2 in text] 所以,首先您要遍历text-对于text中的text2 然后,使用.get_text方法提取文本,将其拆分,并将其长度作为元素存储在列表-lentext2.get_text.split中 然后使用sum对该数组的所有元素求和,最后打印它 编辑:为了清楚起见,一个衬里代替了整个for循环