python从入门到放弃篇44(selenium库,wordcloud库,matplotlib库)爬取新浪新闻,并用Jupyter notebook编辑器进行词云可视化

今天,研究了一波中文词云可视化,跟大家分享一波。最近事情有点多,时间有点不够用,所以,可能会延迟发文,请大家谅解。

我们这次案例的网址是:https://www.sina.com.cn/。我们点击链接进去后,看见如下画面:
python从入门到放弃篇44(selenium库,wordcloud库,matplotlib库)爬取新浪新闻,并用Jupyter notebook编辑器进行词云可视化_第1张图片
因为,我们这次爬的是新闻。所以,我们选择右手边的新闻,如下图:
python从入门到放弃篇44(selenium库,wordcloud库,matplotlib库)爬取新浪新闻,并用Jupyter notebook编辑器进行词云可视化_第2张图片
我们要把这个框框内的新闻爬取下来,先观察页面,使用检查功能或者是按键盘上的功能键F12
python从入门到放弃篇44(selenium库,wordcloud库,matplotlib库)爬取新浪新闻,并用Jupyter notebook编辑器进行词云可视化_第3张图片
所以,代码如下图:

from selenium import webdriver#从selenium库里面导入webdriver模块

url = 'http://www.sina.com.cn'#定义爬取地址

options = webdriver.ChromeOptions()#开启(万花筒模式)无界面模式
options.add_argument('--headless')#添加配置参数
options.add_argument('--disable-gpu')#添加配置参数

driver = webdriver.Chrome(options=options)#将配置好的参数进行传递
driver.get(url)#发送get请求,请求网页
driver.implicitly_wait(3)#设置浏览器响应时间为3秒
div = driver.find_element_by_xpath('//*[@id="wwwidx_imp_con"]/div[2]').text#选择新闻框的全部内容
#print(div)
with open('D:/pycharm_project/新浪新闻.txt','a',encoding='utf-8') as f:#以追加的方式写入文件,设置编码方式为utf-8
    f.write(div)#把内容写入文件

运行结果,打开文件如下图:
python从入门到放弃篇44(selenium库,wordcloud库,matplotlib库)爬取新浪新闻,并用Jupyter notebook编辑器进行词云可视化_第4张图片
接着,我们爬取到文件后,用jupyter notebook编辑器,现在就开始词云可视化,所以有:

from wordcloud import WordCloud#从wordcloud库中导入WordCloud模块
from matplotlib import pyplot as plt#从matplotlib库中导入pyplot模块,取别名为plt
with open('D:/pycharm_project/新浪新闻.txt','r+',encoding='utf-8') as f:#打开文件,新浪新闻.txt,以可读可写的方式打开,以'utf-8'的方式编码。
    text = f.read()#读取文本内容
wc = WordCloud(font_path='C:/Windows/Fonts/simsun.ttc',background_color='White').generate(text)#设置选择中文字体的位置,设置词云背景色,传入文本内容
%pylab inline
plt.imshow(wc,interpolation='bilinear')#展示词云
plt.axis("off")#使刻度线条消失

字体设置的位置,如下图:
python从入门到放弃篇44(selenium库,wordcloud库,matplotlib库)爬取新浪新闻,并用Jupyter notebook编辑器进行词云可视化_第5张图片

运行结果,出现了理想中的词云,感觉很不错。
python从入门到放弃篇44(selenium库,wordcloud库,matplotlib库)爬取新浪新闻,并用Jupyter notebook编辑器进行词云可视化_第6张图片
最后,感谢大家前来观看鄙人的文章,文中或有诸多不妥之处,还望指出和海涵。

你可能感兴趣的:(python数据分析例子)