python爬虫学习:爬虫QQ说说并生成词云图,回忆满满

自学过一段时间的python,用django自己做了个网站,也用+爬虫过些简单的网站,周末研究学习了一波,准备爬取QQ空间的说说,并把内容存在txt中,读取生成云图。

好久不登qq了,空间说说更是几年不玩了,里面满满的都是上学时候的回忆,看着看着就笑了,笑着笑着就…哈哈哈~~

无图言虚空

当年的我还是那么风华正茂、幽默风趣…

言归正传,本次使用的是模拟登录+爬取数据+生成词云图

BeautifulSoup安装

这里有beautifulsoup4 的 官方文档

还需要用到解析器,我选择的是解析器

下表列出了主要的解析器,以及它们的优缺点:

selenium模拟登录

使用selenium模拟登录QQ空间,安装

我用的是chrom浏览器,,获取Chrome浏览器的驱动。

这里还需要下载安装对应浏览器的驱动,否则在运行脚本时,会提示

错误,用的是mac,网上找的一篇下载驱动的文章,https://blog.csdn.net/zxy987872674/article/details/53082896

同理window的也一样,下载对应的驱动,解压后,将下载的**.exe 放到Python的安装目录,例如 D:\python 。 同时需要将Python的安装目录添加到系统环境变量里。

qq登录页http://i.qq.com,利用webdriver打开qq空间的登录页面

打开之后右击检查查看页面元素,发现帐号密码登录在里,先定位到所在的frame,,再自动点击 帐号密码登录 按钮,自动输入帐号密码登录,并且打开说说页面,详细代码如下

这个时候可以看到已经打开了qq说说的页面了,注意部分空间打开之后会出现一个提示框,需要先模拟点击事件关闭这个提示框

tm我以前竟然还有个黄钻,好可怕~~,空间头像也是那么的年轻、主流…

同时因为说说内容是动态加载的,需要自动下拉滚动条,加载出全部的内容,再模拟点击 下一页 加载内容。具体代码见下面。

BeautifulSoup爬取说说

F12查看内容,可以找到说说在这个,里面的标签数组里面,具体每条说说内容在 的标签中。

至此QQ说说已经爬取下来,并且保存在了文件里

接下来生成词云图

词云图

使用包生成词云图,

这里还可以使用分词,我并没有使用,因为我觉得qq说说的句子读起来才有点感觉,个人喜好,用分词可以看到说说高频次的一些词语。

设置下wordcloud的一些属性,注意这里要设置属性,否则汉字会出现乱码。

这里还有个要提醒的是,如果使用了虚拟环境的,不要在虚拟环境下运行以下脚本,否则可能会报错 ,我就遇到了这种情况, 退出了虚拟环境再跑的

至此,爬取qq说说内容,并生成词云图。

源码github地址: https://github.com/taixiang/spiderQQ

image.png

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607A1XK2E00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券