利用Python分析文章词频,并生成词云图
使用request模块获取文章数据
import jieba
import requests
import csv
from bs4 import BeautifulSoup
import re
# 字符集
r = '[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]+'
# 文章链接:在中国日报网,选取了一篇新闻作为本次案例的分析
url = 'http://www.chinadaily.com.cn/a/202008/20/WS5f3db65da31083481726171e.html' #英语新闻URL
headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 QIHU 360SE'
}
response = requests.get(url=url, headers=headers) #获取响应内容
print(response) #<Response [200]>
<Response [200]>
使用BeautifulSoup模块解析所需的文章内容和词频统计
基本思路
- 使用BeautifulSoup模块获取文章内容
- 去除文章中的字符集
- 消除大小写字母的影响
- 把英文文章的每个单词放到列表里,并统计列表长度;
- 遍历列表,对每个单词出现的次数进行统计,并将结果存储在字典中;
- 求出每个单词出现的频率,并将结果存储在频率字典中;
- 以字典键值对的“值”为标准,对字典进行排序,输出结果
# 转化为Beatifulsoup格式
bs = BeautifulSoup(response.text, 'html.parser')