1. 秦子帅的博客首页
  2. Python

Python爬虫实战(6)-爬取QQ空间好友说说并生成词云

点击标题下「蓝色微信名」可快速关注

前言

先看效果图:

Python爬虫实战(6)-爬取QQ空间好友说说并生成词云

 

TXT文件:

Python爬虫实战(6)-爬取QQ空间好友说说并生成词云

 

如果想生成特定图片样式的词云图,可以直接访问下面这篇文章学一下:
Python如何生成词云(详解)
前几天我们陆陆续续的讲了Python如何生成词云以及Selenium的安装使用,今天我们综合一下这些知识,写一篇爬虫实战文章,带大家爬取QQ空间好友说说写人本地txt文件,并生成词云。
大家一定很感兴趣吧?下面开始正题。

思路

1.确认访问的URL
2.模拟登录你的QQ号
3.判断好友空间是否加了权限,切换到说说的frame,爬取当前页面数据,下拉滚动条,翻页继续获取   爬取的内容写入本地TXT文件中
4.爬取到最后一页,读取TXT文件从而生成词云

具体分析

1.确认访问的URL
这就很简单了,我们通过观察发现,QQ空间好友的URL:
https://user.qzone.qq.com/{好友QQ号}/311

2.我们在请求的时候会遇到模拟登录,也就是要通过Selenium+浏览器登录你的QQ号后才能访问你好友的QQ空间
下面是模拟登录的代码:

 

需要强调是 driver.switch_to_default_content(),表示跳出当前的frame,这步很关键,因为你登录后还要切刀另一个frame。不写的话会出现下面的错误:

Python爬虫实战(6)-爬取QQ空间好友说说并生成词云

3.第三部分我分几个点来说:
(1).判断空间是否加了权限

(2)切换到说说的frame,这个大家都会找吧

Python爬虫实战(6)-爬取QQ空间好友说说并生成词云

(3)下拉滚动条
下拉滚动条是为了点击‘下一页’,下拉到可见视图。下拉滚动条要注意一点:
一定要对应它的frame,不要在爬取说说的frame下拉。

(4).爬取说说数据,这就简单了吧?我用的xpath获取的说说的title,感兴趣的朋友可以把时间等数据一起获取

(5).翻页
直接点击‘下一页’即可。

(6).txt数据写入,不用多说,爬取到title了直接写入

4.生成词云,这只是普通的模式,想具体了解可以看我以前文章或者Google

由于时间问题,此篇文章只支持输入一个好友的QQ号,你要是想爬取你的所有的QQ好友的说说,可以现在QQ邮箱获取你所有好友的QQ号,然后生成一个数组,依次获取就可以了。

源码获取方式

加我的微信,我发给你,一起交流,交个朋友!:

Python爬虫实战(6)-爬取QQ空间好友说说并生成词云

始发于微信公众号: 扎心了Python

发布者:秦子帅,转转请注明出处:http://qinzishuai.cn/742

联系我们

912241847

在线咨询:点击这里给我发消息

邮件:qzs531156@163.com

QR code