一个完整的大作业
1.选一个自己感兴趣的主题。
2.网络上爬取相关的数据。
3.进行文本分析,生成词云。
4.对文本分析结果解释说明。
5.写一篇完整的博客,附上源代码、数据爬取及分析结果,形成一个可展示的成果。
我选择的主题是在新浪网的新闻中心中抓取近期国内新闻的内容,在数据中查看近期热点新闻。
网址:http://news.sina.com.cn/china 如图:
一、在网页中抓取数据
import requests from bs4 import BeautifulSoup res = requests.get('http://news.sina.com.cn/china') res.encoding = 'utf-8' soup = BeautifulSoup(res.text, 'html.parser') for news in soup.select('.news-item'): if (len(news.select('h2')) > 0): title = news.select('h2')[0].text time = news.select('.time')[0].text url = news.select('a')[0]['href'] print(time, title, url)
如图是抓取后的效果图:
二、分析文本,生成词云
抓取完数据后将数据保存文本并分析。
import jieba import WordCloud import matplotlib.pyplot as plt txt=open("C:\Users\Administrator\Desktop\wenben.txt","r",encoding='utf-8').read() wordlist = jieba.cut(text,cut_all=True) wl_split = "/".join(wordlist) mywc = WordCloud().generate(text) plt.imshow(mywc) plt.axis("off") plt.show()
从中看出近期国内关于政事新闻较多。