python从入门到放弃篇42(selenium库,random库,time库,wordcloud库)从爬取名人名言动态网页到词云可视化(jupyter notebook编辑器)

昨天,我自己做了一个简单的爬取到可视化案例,我觉得可视化比较有趣。所以,今天推出爬取名人名言到词云可视化的案例。

我们这次案例用的编辑器是jupyter notebook,要不然做不出词云的效果。
我们这次案例的网址是:http://quotes.toscrape.com/js/,进入后看见如下画面:
python从入门到放弃篇42(selenium库,random库,time库,wordcloud库)从爬取名人名言动态网页到词云可视化(jupyter notebook编辑器)_第1张图片
爬虫部分的完整代码,如下图。
想要了解这段代码的朋友,可以去参见我前面第29篇的内容。

from selenium import webdriver
from random import randint
import time

url = 'http://quotes.toscrape.com/js/'
driver = webdriver.Chrome()
driver.get(url)
driver.implicitly_wait(3)

xpath_road = '/html/body/div'
says = driver.find_element_by_xpath(xpath_road)
with open(r'名人名言.txt','a',encoding='utf-8') as f:
    f.write(says.text+'\n')
#print(says.text)
next_page = driver.find_element_by_xpath('/html/body/div/nav/ul/li/a')
next_page.click()

for i in range(1,10):
    xpath_road2 = '/html/body/div'
    says2 = driver.find_element_by_xpath(xpath_road2)
    with open(r'名人名言.txt','a',encoding='utf-8') as f:
        f.write(says2.text+'\n')
        time.sleep(randint(2,3))
    #print(says2.text)
    time.sleep(1)
    if i == 9:
        break
    else:
        next_page2 = driver.find_element_by_xpath('/html/body/div/nav/ul/li[2]/a')
        next_page2.click()

结果:
python从入门到放弃篇42(selenium库,random库,time库,wordcloud库)从爬取名人名言动态网页到词云可视化(jupyter notebook编辑器)_第2张图片
可对比最后的结果是一致的,所以,我们已经全部爬取下来了。接下来,我们进入下一步,就是文件操作,我们先读取文件(文件默认保存在编辑器的目录下面,我是用pycharm爬的,用jupyter做的词云,不要奇怪我文件保存的目录),如下图:
在这里插入图片描述
从运行结果来看,所有内容都读取出来了,后面还有很多内容,我就不全部截图了,请大家见谅。
python从入门到放弃篇42(selenium库,random库,time库,wordcloud库)从爬取名人名言动态网页到词云可视化(jupyter notebook编辑器)_第3张图片
然后,我们进行词云可视化,修改代码,如下图:

from wordcloud import WordCloud#导入词云库
import matplotlib.pyplot as plt#导入matplotlib库的pyplot模块绘图
filename = 'D:/pycharm_project/名人名言.txt'#编辑器目录下的文件
with open(filename,'r+',encoding='utf-8') as f:#读取方式打开文件,设置编码方式为utf-8.
    text = f.read()#读取文件
    #print(text)

    wordcloud = WordCloud(background_color="White").generate(text)#导入文本,设置背景色为白色。
    %pylab inline
    plt.imshow(wordcloud,interpolation='bilinear')
    plt.axis("off")#让横轴和纵轴隐藏

运行结果:
python从入门到放弃篇42(selenium库,random库,time库,wordcloud库)从爬取名人名言动态网页到词云可视化(jupyter notebook编辑器)_第4张图片
Oh!!,见证奇迹的时刻,出现了我们期待已久的词云。很开森,因为今天又有新的收获了。感觉效果很炫酷,可以出去炫一波了,哈哈。

最后,感谢大家前来观看鄙人的文章,文中或有诸多不妥之处,还望指出和海涵。

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