qq空间文章采集软件(Linux+Chrome火狐+phantomjs驱动+requests+火狐驱动)
优采云 发布时间: 2021-12-22 19:07qq空间文章采集软件(Linux+Chrome火狐+phantomjs驱动+requests+火狐驱动)
一。功能需求分析:
很多时候我们需要做这样的事情:我们想下载我们QQ空间里相册的高清图片,怎么做?在网上找软件?答案是不。原因一:网上很多软件不知道有没有病毒。其次,它可能会捆绑很多不必要的软件,这对我们不友好,有些需要成本。我该怎么办?没有什么可做的吗?答案是不。我们可以利用爬虫技术完成一个QQ或者微信相册空间下载器。根据不同的功能需求,我们可以对其进行改进,使其成为可批量下载的QQ空间下载器,或者使其成为多线程、图形化的下载器。*敏*感*词*接口采集器
二。环境设置:
Window+Chrome 火狐浏览器+火狐驱动+请求/Linux+phantomjs+phantomjs驱动+请求
三。技术点分析:
Qzone是腾讯的产品。通过浏览器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 是如何计算的。因为Firefox自带的控制台功能不够,这里使用Firefox+Firebug来做。其他浏览器也应该有相应的插件F12。打开Firebug控制台,登录QQ空间后刷新界面,然后点击“脚本”
功能(一){
a=QZFL.util.URI(a);
变种 b;
a&&(a.host&&0
a.host&&0
b||(b=QZFL.cookie.get("skey")||QZFL.cookie.get("rv2"));
a=5381;
for(var c=0,d=b.length;c
a+=(a