QQ空间自动取消赞是QQ空间赞不了别人的说说怎么回事事??

(前一段时间刚学了Python,觉得需要拿点东西来练手,于是就决定写个实用点的东西,也就是这条既能练手又能装逼的qq空间自动点赞的小爬虫)
(好多不常联系的同学都因为我的秒赞对我表示了他们的感动,搞得我都不敢说我是用程序自动点赞的)
(然而,与其说是练手Python,其实写这个爬虫我学到的更多的知识是关于http请求的)
—————————————————————————————————————————————————————————————————
行吧,开车了。
①探索:当我们按下“赞”之后,Qzone的后台发生了什么PY交易?
&1&首先,抓包。打开网页版的QQ空间(我已经用F12把各种推广的窗口强行关掉了,以及,两个号都是我的小号),再打开抓包工具(这里我用的抓包工具是Fiddler,百度一下就能找到下载资源了)。先清空Fiddler抓到的包,然后点“赞”,之后“取消赞”。
Fiddler抓到的如下四个数据包
&2&然后,分析包。点击分析目标,选中右边的Inspector,会得到这个包的解析数据。(如果我们只需要“赞”的功能的话,就只分析第一个数据包就够了。之后你可以尝试自己去看“取消赞”的包,其实跟“赞”做的工作是一样的,只不过post的url不一样罢了)
在Headers的标签页中,我们可以看出,点赞操作用的是POST方法,向“/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?g_tk=”的相对地址POST了这个包,就能实现“赞”的功能。
于是,目标很明确,想要实现“赞”,我们就必须模拟这个包,使用python3的http模块中的http.client.HTTPConnection.request()来将这个包发送给服务器实现“赞”。(对应Python2的httplib模块的httplib.HTTPCOnnection.request()函数,其实我到后来才发现有个requests的模块非常好用,大家可以自己百度“python
requests”,但下述代码还是以python3的http模块来实现)
发送包的代码如下:
httpClient=client.HTTPConnection('h5.qzone.qq.com');
#h5.qzone.qq.com是Host
httpClient.request("POST",url,parse.urlencode(body),headers);
#method是"POST"
#url是上述的"/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?g_tk=",其中g_tk在每次登录空间后都不一样。
#body和headers是字典型
那么问题就来了,url和数据包的内容是什么?怎么模拟?
②解答:Qzone点赞时,该POST的数据包的内容是什么?该向谁POST数据包?
&1&该POST的数据包内容之headers
headers={'Host':'h5.qzone.qq.com',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/ Firefox/49.0',
'Accept':'text/html,application/xhtml+xml,application/q=0.9,*/*;q=0.8',
'Accept-Language':'zh-CN,q=0.8,en-US;q=0.5,q=0.3',
'Accept-Encoding':'gzip, deflate',
'Cookie':'',
'Connection':'keep-alive',
'Upgrade-Insecure-Requests':1,
'Content-Type':'application/x-www-form-urlencoded'
headers['Cookie']='QZ_FE_WEBP_SUPPORT=*; cpu_performance_v8=*; _gdt_close_discover=*; __Q_w_s__QZN_TodoMsgCnt=*; blabla=*; zzpaneluin=*; zzpanelkey=; p_skey=5O9avpyb9nqMw7VP6P9BZ13X8vUUJup50PDFEACDgM8_; pt4_token=*; p_uin=*; pgv_pvi=*; pgv_pvid=*; ptui_loginuin=*; pt2gguin=*; RK=*; ptcz=*; skey*; pgv_si=*; pgv_info=ssid=*; ptisp=*; uin=*; qzone_check=*'
#参数值字符太多,我把cookie中的除了p_skey的参数值都用*代替了。
是的,这些就是headers的内容了,除了Cookie以外,不需要知道其他参数是干嘛的,因为headers字典中其他的参数对所有用户实现这个爬虫都几乎没有影响。
所以,Cookie从哪里找呢?
鼠标三击Raw中的Cookie一行,即可选中整行,Ctrl+C复制,贴到代码中,去掉前缀,两侧加单引号,headers的内容就解决了。
必须使用颜色强调的是:我的这个爬虫暂没有实现自动登录Qzone的能力,每次都要靠手动登录,抓包获取Cookie,修改headers字典的“Cookie”来维持程序正常运行。但由于QQ空间的Cookie只要不断使用,有效时间将在12个小时以上,所以如果你想让程序长时间跑,更换Cookie也不会太频繁。(所以我称它为简单的爬虫)&2&该POST的数据包内容之body
qqNumber='';
body={'qzreferrer':'http://user.qzone.qq.com/'+qNumber,
'opuin':qNumber,
'unikey':'',
'curkey':'',
'appid':311,
'typeid':0,
'active':0,
'fupdate':1
body['unikey']='http://user.qzone.qq.com/***/mood/54a9a141c35a0b584d460300'
body['curkey']='http://user.qzone.qq.com/***/mood/54a9a141c35a0b584d460300'
#由于点赞对象是常用小号不想泄露,所以我就用***打个马赛克
params=urllib.urlencode(body)同样,我把需要注意的参数单独拉出来赋值了。包括qqNumber,unikey,和curkey。
qqNumber如其名,就是点赞者的QQ,和Cookie同属于半固定类型的——在整个程序的执行过程中保持静态,不会变化。
而unikey和curkey则是会根据说说的不同而动态变化的。原创说说的unikey==curkey成立,而如果是转发而来的说说则unikey!=curkey为真。curkey的值取决于被转发者的说说原创时产生的unikey,unikey的值则是转发者转发时产生的。
当然,如下图,指定说说的unikey和curkey可以在在数据包中找到,但是在自动点赞程序中,unikey和curkey显然不是静态的!
所以?unikey和curkey在哪里找呢?这个问题我现在可能很难详细地讲清楚,需要卖个关子,等下一章或者下下章条件凑齐后才能讲明白。我只能简单地说——通过正则表达式过滤含有说说的html页面来获得unikey和curkey。
&3&该向谁POST数据包?(url中的可变参数g_tk)
def getGTK(ss):
for i in ss:
hash+=(hash&&5)+ord(i);
return (hash & 0x7fffffff);
#算法找自百度搜索"QQ空间 g_tk";
g_tk=getGTK(p_skey);
url="/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?g_tk="+str(g_tk);g_tk的值取决于Cookie中的p_skey的参数值。可以说,它也是半固定的值——整个程序运行过程中g_tk的值不会动态变化。可以使用上述算法从Cookie中的p_skey计算而来,也可以如下找到:
通常我都是选择从Cookie中计算出来,避免重启爬虫的时候需要改太多参数了。同样,需要用到正则表达式来将目标p_skey从Cookie中过滤出来,然后计算。
p_skey=re.search('p_skey=([^;^\']*)',cookie).group(1);#正则过滤cookie得到p_skey
g_tk=getGTK(p_skey);
url="/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?g_tk="+str(g_tk);
②至此,我们已经具备写出“点赞类”的主要相关知识
from http import client
from urllib import parse
import sys
class httpPOSTer:
def getGTK(self,ss):
for i in ss:
hash+=(hash&&5)+ord(i);
return (hash & 0x7fffffff);
def __init__(self,coo,qqNumber):
self.cookie=self.qNum=qqN
p_skey=re.search('p_skey=([^;^\']*)',self.cookie).group(1);
g_tk=self.getGTK(p_skey);
self.url="/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?g_tk="+str(g_tk);
self.headers={'Host':'h5.qzone.qq.com',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/ Firefox/49.0',
'Accept':'text/html,application/xhtml+xml,application/q=0.9,*/*;q=0.8',
'Accept-Language':'zh-CN,q=0.8,en-US;q=0.5,q=0.3',
'Accept-Encoding':'gzip, deflate',
'Cookie':'',
'Connection':'keep-alive',
'Upgrade-Insecure-Requests':1,
'Content-Type':'application/x-www-form-urlencoded'
self.headers['Cookie']=
self.body={'qzreferrer':'http://user.qzone.qq.com/'+qqNumber,
'opuin':qqNumber,
'unikey':'',#mark
'curkey':'',#mark
'appid':311,
'typeid':0,
'active':0,
'fupdate':1
def thumbs_up(self,unikey,curkey):
self.body['unikey']=
self.body['curkey']=
print("url="+self.url);
httpClient=client.HTTPConnection('h5.qzone.qq.com');
httpClient.request("POST",self.url,parse.urlencode(self.body),self.headers);
response=httpClient.getresponse();
print("thumbs_up "+str(response.status)+" "+response.reason);
httpClient.close();
#main process BEGIN
cookie='(输入区)';#自己输入cookie
qqNumber='(输入区)';#自己输入qq
qzoneP=httpPOSTer(cookie,qqNumber);#实例化一个点赞类
qzoneP.thumbs_up(unikey,curkey);#使用"thumbs_up()"方法,unikey和curkey的获得将在下一章或下下章讲述
#main process END
(详细讲的话,一章显然讲不完全。我跟同学说,我要写一篇0基础看了、都能看懂这个爬虫代码的教程,所以可能有点啰嗦……见谅)
(之后可能还会有一章,或者两章,讲述较多简单的细节,反正我现在是写不完了。凌晨四点了,好困……)
Python3爬虫实践——QQ空间自动点赞程序(下)
自动评论脚本
Python 爬虫监控女神的QQ空间新的说说,实现秒赞,并发送说说内容到你的邮箱
使用Python爬取QQ好友的说说
Python--爬虫QQ空间(一)
没有更多推荐了,QQ空间自动点赞怎么弄 QQ空间实时自动评论或点赞方法_电脑百事网
当前位置:QQ空间自动点赞怎么弄 QQ空间实时自动评论或点赞方法
QQ空间自动点赞怎么弄 QQ空间实时自动评论或点赞方法
最近在电脑百事网认证QQ空间发现了一个奇怪的问题,每当我们的QQ空间发布了一篇日志或者一条说说,总会第一时间看到那么几个人点赞,而且速度非常快,基本是刚发布,就点赞了,很明显,这个只有QQ空间自动点赞才能实现。那么,QQ空间自动点赞怎么弄?小编在QQ空间设置中,并没有找到此功能,设置特别关心也没有用,后面研究了一下,总算是找到了方法。好东西,不敢独享,下面将这个方法告诉大家吧,觉得不错,记得点赞哦。QQ空间实时自动评论或点赞方法QQ空间自动点赞怎么弄?QQ空间本身并没有这个功能,而是需要借助一些工具来实现,小编查了一下,目前网上有不少类似的QQ空间说说批量点赞刷赞的工具,如下图所示。此类QQ空间说说批量点赞助手工具使用非常简单,只要在电脑中下载安装,然后使用自己的QQ账号登陆,之后添加需要批量点赞刷赞的好友QQ号即可,之后这些添加的好友,每次发布了说说或者日志,工具都会第一时间自动点赞。此外,这些QQ空间说说批量点赞刷赞的工具,还可以指定说说或者赞最新一条说说,刷赞速度非常快,如果大家希望多增加自己QQ空间人气或者喜欢刷存在感的话,不妨去试试。Ps.QQ空间自动点赞/刷赞是腾讯所不允许的,因此使用此类工具也可能会导致被QQ空间屏蔽等。另外需要注意的是,网上这类工具很多,并且不少工具里面可能包括一些恶意插件,容易泄露自己的QQ账号密码信息,建议大家谨慎使用。qq空间里点完赞就自动取消是怎么回事_百度知道
qq空间里点完赞就自动取消是怎么回事
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
暴走少女55
来自知道合伙人认证团队
暴走少女55
采纳数:582
获赞数:3850
擅长:暂未定制
系统封的,这是不能解封,需要等七天或者一个月的。 或者被人投诉举报了。一、解决办法:1、发三条说说让人帮转发后在自己空间里立刻删除,等待1-5小时后可成功解除禁赞,但是方法反复,有时候会被重禁。2、找腾讯客服,提交情况问题等待他们处理。3、不要频繁点赞,会被系统误认为是刷赞的。
兄弟连田心9号
来自电脑网络类芝麻团
兄弟连田心9号
采纳数:35337
获赞数:137434
参与团队:
系统封的,这是不能解封,需要等七天或者一个月的。 或者被人投诉举报了。一、解决办法:1、发三条说说让人帮转发后在自己空间里立刻删除,等待1-5小时后可成功解除禁赞,但是方法反复,有时候会被重禁。2、找腾讯客服,提交情况问题等待他们处理。3、不要频繁点赞,会被系统误认为是刷赞的。
本回答被网友采纳
获赞数:95
擅长:暂未定制
我也是。。愁死了需要解决方法
梦曾遇过你
梦曾遇过你
擅长:暂未定制
我要连续几个月了。。。。
采纳数:103
获赞数:674
擅长:暂未定制
是不是赞了之后,一刷新就没赞了,那是你的赞的太频繁了,被封了,过几个小时就好了
本回答被网友采纳
点了两下就取消了
2条折叠回答
其他3条回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。jQuery简单实现QQ空间点赞已经取消点赞
转载 &更新时间:日 11:46:08 & 投稿:hebedich
这篇文章主要介绍了jQuery简单实现QQ空间点赞已经取消点赞的代码,非常的好用,这里推荐给大家,有需要的小伙伴参考下。
看到有网友制作了对空间好友的动态点赞,加了个以及取消赞的功能。直接运行的脚本
好友动态点赞代码
jQuery("a.qz_like_btn_v3[data-clicklog='like']").each(function(index,item){
console.log(item);
jQuery(item).trigger('click');
jQuery(window).scroll(function(){
jQuery("a.qz_like_btn_v3[data-clicklog='like']").each(function(index,item){
jQuery(item).trigger('click');
取消已点赞
jQuery("a.qz_like_btn_v3[data-clicklog='cancellike']").each(function(index,item){
console.log(item);
jQuery(item).trigger('click');
jQuery(window).scroll(function(){
jQuery("a.qz_like_btn_v3[data-clicklog='cancellike']").each(function(index,item){
jQuery(item).trigger('click');
以上所述就是本文的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具QQ空间说说点赞自动消失怎么回事?_百度知道
QQ空间说说点赞自动消失怎么回事?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
习惯了也习惯
来自知道合伙人认证团队
习惯了也习惯
采纳数:420
获赞数:1787
擅长:暂未定制
1、已经点过赞的,如果再次点赞就取消了原来的点赞。因为腾讯空间规定每个人对每一条说说只能点赞一次,再点视为取消。2、网络系统错误也会出现QQ空间说说点赞自动消失,等爱网络恢复刷新即可。3、网页出现错误,可以清理下缓存,重新登陆试试的。4、客户端的问题,可以升级下客户端,或者是卸载重新下载。5、空间权限是否设置得太严格,不允许任何人留言和评论等也会出现QQ空间说说点赞自动消失。6、以上操作如果没有解决问题,那么请咨询腾讯QQ客服。
快乐天使449
来自电脑网络类芝麻团
快乐天使449
采纳数:14
获赞数:26
参与团队:
你多点了一下,点一下是赞,点两下就是取消了!
本回答被网友采纳
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 QQ空间赞了马上取消别人能看到吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信