一个完整的大作业

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()

 

 

从中看出近期国内关于政事新闻较多。

posted @ 2017-11-02 01:25  11+陈泽廷  阅读(223)  评论(0编辑  收藏  举报