前言
先看效果图:
思路
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。不写的话会出现下面的错误:
3.第三部分我分几个点来说:
(1).判断空间是否加了权限
(2)切换到说说的frame,这个大家都会找吧
(3)下拉滚动条
下拉滚动条是为了点击‘下一页’,下拉到可见视图。下拉滚动条要注意一点:
一定要对应它的frame,不要在爬取说说的frame下拉。
(5).翻页
直接点击‘下一页’即可。
1 driver.find_element_by_link_text(u'下一页').click()
(6).txt数据写入,不用多说,爬取到title了直接写入
4.生成词云,这只是普通的模式,想具体了解可以看我以前文章或者Google