严重怀疑微信和QQ真都的是腾讯做的?一个几乎毫无反爬措施且对三方库友好支持,一个源码搞的像个机器语言,反爬虫措施做的不是一般的复杂!(吐槽一下QQ空间,干货不多做这么复杂干鸟?)
这里还是感谢一位CSDN论坛大神提供解决空间g_tk加密问题,不然估计要白费功夫TAT
回复“QQ1”获取源码
开发工具:
Python3.6.4
multiprocessing
pymongo数据库
selenium
此外需要手动下载浏览器的webdriver于当前文件夹,如Chrome的webdriver
使用需知
由于QQ反爬措施导致对第三方库的极度不友好
所以暂无法打包成EXE文件
需要打开源码手动输入号码密码。
如果你担心我会窃取你的密码,那看个热闹就行。
正文:
程序运行了半个小时,选择了72个好友,共爬取了“16326”条说说,是的我用的多线程所以这么快
数据表1
由于实现原理有点枯燥这里就挑个重点说,有具体想了解的同学可以私聊我(有吗)
实现原理:利用Selenium模拟浏览器爬取。Selenium是一个用于Web应用程序测试的工具,它直接运行在浏览器中,就像真实的用户在操作一样。由于这个性质,Selenium也是一个强大的网络数据采集工具,它可以让浏览器自动加载页面。
自动登录效果(公众号限制大小掉帧很严重):
(当然,这个登录更好的用法使用no header 让后台运行,这里只是为了便于理解。)
我们需要爬取的数据包括msglist(发表说说的信息),total(只需要爬取一次就可以,total代表发表说说的总数量,和真实数量有区别,因为有些说说已经被删除)。提一句,num为网页返回的说说的数量信息,单次请求超过40后会只返回10条。点开msglist,里面包含数量为num的说说的信息,点开其中的某一个,有若干信息,我们需要爬取的包括cmtnum(评论的数量),commentlist(评论人的息),content(说说的内容),createTime(创建说说的时间),name(发表人name),uin(*)。
-----------------------------------
然后就不一一赘述了,有不懂的想了解的可以私聊。
-----------------------------------
一共16326条说说。
下面对数据进行一些简单的处理。
一 好友信息可视化
二将说说的内容制作成词云
三统计一下说说的发表时间
四通过好友之间是否评论制作关系图
一.
1:将数据库pymongo中说说内容导出为csv文件
2.利用个人BDP制作图表
部分效果图如下:
平均量:
视频(模拟了一下):
下期随缘做个项目吧,QQ太费精力了TAT
领取专属 10元无门槛券
私享最新 技术干货