用python从https://www.chinadaily.com.cn/下载一则新闻,保存到txt文件中,读取该文件,并统计每个单词在新闻中出现的次数。
时间: 2024-04-21 21:29:02 浏览: 96
好的,以下是实现的Python代码,使用了requests和beautifulsoup库:
```python
import requests
from bs4 import BeautifulSoup
import re
# 下载新闻网页
url = 'https://www.chinadaily.com.cn/'
response = requests.get(url)
html = response.text
# 解析网页内容
soup = BeautifulSoup(html, 'html.parser')
news = soup.find('div', {'class': 'top_newslist'}).find_all('a') # 获取新闻链接
# 获取第一则新闻的链接
news_url = news[0].get('href')
# 下载新闻内容
response = requests.get(news_url)
html = response.text
# 解析新闻内容
soup = BeautifulSoup(html, 'html.parser')
content = soup.find('div', {'class': 'left_zw'}).get_text() # 获取新闻正文内容
# 保存到txt文件
with open('news.txt', 'w', encoding='utf-8') as f:
f.write(content)
# 读取txt文件,并统计每个单词在新闻中出现的次数
with open('news.txt', 'r', encoding='utf-8') as f:
text = f.read()
words = re.findall(r'\b\w+\b', text.lower()) # 获取单词列表
word_counts = {}
for word in words:
if word not in word_counts:
word_counts[word] = 1
else:
word_counts[word] += 1
# 输出统计结果
for word, count in word_counts.items():
print(f'{word}: {count}')
```
上述代码会将第一则新闻的正文内容保存到当前目录下的news.txt文件中,并统计每个单词在新闻中出现的次数。
阅读全文