如何实现仅打印指定网页文本的前300个字符?
解决方法:截取文本前300字符
嘿,你的代码框架已经没问题啦!现在只需要对获取到的文本做个简单的切片处理,就能只打印前300个字符了。
你当前的print(soup.find('body').getText())会输出整个页面的文本内容,我们只需要在getText()后面加上切片操作[:300],就能轻松拿到前300个字符。
修改后的完整代码如下:
import random import urllib.request from bs4 import BeautifulSoup gen_random = str(random.randint(2000,8001)) new_url = ('http://www.gutenberg.org/files/'+ gen_random + '/'+ gen_random + '.txt') html = urllib.request.urlopen(new_url) soup = BeautifulSoup(html, 'lxml') # 获取body文本并截取前300个字符 body_text = soup.find('body').getText() print(body_text[:300])
关键点说明:
- Python的字符串切片
[:300]表示从索引0开始,取到第300个字符(不包含索引300),刚好是前300个字符。 - 如果页面文本本身不足300字符,这个切片操作也不会报错,会直接返回全部文本,非常安全。
这样修改后,你就能得到想要的前300字符输出啦!
内容的提问来源于stack exchange,提问作者Hunter Gary
相关产品推荐
相关产品推荐

