qq空间文章采集软件(Linux+Chrome火狐+phantomjs驱动+requests+火狐驱动)
优采云 发布时间: 2022-01-13 20:22qq空间文章采集软件(Linux+Chrome火狐+phantomjs驱动+requests+火狐驱动)
一。功能需求分析:
很多时候,我们需要做这样的事情:我们想在我们的QQ空间下载相册的高清图片,怎么做呢?在网上寻找软件?答案是不。原因之一是互联网上有许多没有病毒的软件。其次,它可能捆绑了很多不必要的软件,对我们不友好,其中一些是要花钱的。我们应该做什么?我们无能为力吗?答案是不。我们可以通过爬虫技术完成一个QQ或者微信相册空间下载器。根据不同的功能需求,我们可以对其进行改进,使其成为一个可以批量下载的QQ空间下载器,或者使其成为一个多线程、图形化的下载器。接口*敏*感*词*采集器
二。环境搭建:
Window+Chrome 火狐浏览器+火狐驱动+请求/Linux+phantomjs+phantomjs驱动+请求
三。技术点分析:
QQ空间是腾讯的产品。通过浏览器F12解析请求我们得到相册相关的链接ajax:
通过实验,我们得到了与数据请求成功相关的几个参数:
g_tk,uin,hostUin,pageNum,pagestart,topicId
其中hostuin是要下载的QQ号,因为要下载专辑,必须先登录,所以uin是自己的QQ,topicid是QQ相册id,可以通过第一个链接获取,g_tk是QQ加密算法生成的数字串。获取登录状态后,必须添加g_tk才能正确返回数据,然后通过获取的图片链接下载图片
一。技术难点分析:
其他参数很容易获取,但是这个g_tk困扰了我很久。后来,我通过分析请求,上网查找资料,终于解决了这个问题。首先,我们需要了解 g_tk 是如何计算的。由于火狐自带的控制台功能不够用,这里使用火狐+Firebug,其他浏览器应该也有F12的插件打开Firebug控制台,登录Qzone后刷新界面,然后点击“脚本”
功能(一){
a=QZFL.util.URI(a);
变种 b;
a&&(a.host&&0
a.host&&0
b||(b=QZFL.cookie.get("skey")||QZFL.cookie.get("rv2"));
一个=5381;
for(var c=0,d=b.length;c
一个+=(一个