网址导航网首页

嗨,欢迎来到25Qi网址导航

站长QQ:2598903095

电商资讯

分享文章:爬虫(二)实现qq空间的自动评论和自动点赞

时间:2024-10-18 丨 作者:25QI导航 丨 关键词:qq空间点赞服务

在当前社交网络技术迅猛发展的背景下,QQ空间仍旧是众多用户展示生活点滴的关键场所。迅速获得点赞与评论往往能显著提升关注度,而运用爬虫技术自动执行点赞与评论操作,宛如开启了一扇通往未知领域的新门户。然而,这一过程中所遇到的技术挑战与不足之处,同样值得深入研究和讨论。

以cookie登录抓取页面

$qq = "这里写自己的qq";
$cookie = "这里复制cookie";
$ch = curl_init();
$url = "https://user.qzone.qq.com/".$qq;
//设置访问的URL
curl_setopt($ch, CURLOPT_URL, $url);
//设置http头
$http_header = array(
    	"User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0",
    	"Accepted-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
    	"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    	"Cookie: $cookie" );
//设置HTTP报文头的用户信息
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_header);
//不需要响应报文头
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//跳过https验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    
//返回响应信息而不是直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if (!$output = curl_exec($ch)) {
    echo "Curl Error:". curl_error($ch);
}
curl_close($ch);

借助cookie技术实现QQ空间页面的登录以抓取数据,是自动点赞与评论流程中的初始阶段。在电脑版QQ空间界面,通过按下F12键切换至开发者模式,我们能够观察到cookie并对其进行复制。尽管这一步骤可能显得较为复杂,但它却是不可或缺的。cookie如同解锁之门,使我们得以访问目标页面,即我们的个人QQ空间页面。然而,这仅仅是起点,面对这一小挑战,我们绝不能轻言放弃。我们如此努力获取到的页面输出究竟有何价值?它构成了后续操作的根本,若无法精确获取,后续的任何操作都将无法继续。

尽管采用cookie进行账户登录的操作是可行的,但此方法对部分用户而言显得过于直接且缺乏技巧,那些对技术有一定追求的用户更倾向于尝试使用账号密码登录,尽管这种尝试可能遭遇挫折。在尝试过程中,可能会感到些许失望,因为追求更高层次的技术路径却未能如愿,然而无需过分忧虑,可以先采用确保成功的方法继续尝试。

点赞请求url的研究

在探究点赞请求的URL构成时,我们往往发现其并非易事。随意选取一个点赞操作并浏览开发者界面,即可发现URL的构建过程颇为繁复。其中,前半部分相对易于理解,但后续的参数、g_tk以及qzonetoken等元素却让人难以捉摸。经过多次尝试与查阅资料,方才得知g_tk是通过cookie中的p_skey经过特定算法计算得出的。而qzonetoken的查找亦需一定的技巧,需在网页元素界面按下Ctrl+F键输入qzonetoken方可显现。这一过程犹如破解谜题,每解开一个谜题,便更接近我们的目标。

空间点赞在哪里找_qq空间点赞业_qq空间点赞服务

if ($output){
preg_match('/window\.g_qzonetoken = \(function\(\)\{ try\{return "(.*?)";\} catch\(e\)/',$output, $matches2);
    $qzonetoken = $matches2[1];
}

显而易见,构建完整的自动点赞及评论系统并非易事。在掌握g_tk与qzonetoken获取途径之前,面临诸多困惑。这些未知难题如同道路上的障碍,然而一旦克服,便将带来极大的满足感。

url参数确认与数据包构建

 preg_match('/p_skey=([^;^\']*)/', $http_header[3], $matches);
    $p_skey = $matches[1];

在充分理解各项参数的基础上,需执行关键环节——构建数据包并传输至特定URL。此过程可通过在QQ平台上点赞并浏览开发者中心中的数据包结构来实现。在此过程中,我们再次识别出unikey和curkey,它们是识别说说内容的关键标识。此过程犹如拼图,我们持续寻找并拼接新的小块,以完成整个拼图的组装。

<?php
  function getGtk($skey){
    $hash = 5381;
    for($i=0;$i

在获取到这些核心要素后,便能够将相关资料综合整理并发送请求。在此过程中,内心既充满期待又略带不安,一方面渴望成功激活点赞功能,另一方面又担忧可能出现的未知错误使得努力功亏一篑。

require('gtk.php');
preg_match('/p_skey=([^;^\']*)/', $http_header[3], $matches);
$p_skey = $matches[1];    
$gtk = getGTK($p_skey);

实现自动点赞的最后环节

完成数据包构建环节后,随即启动点赞功能的HTTP请求发送流程,此环节为自动点赞程序成功运行的关键步骤。紧随其后,在程序末尾设定三分钟自动刷新机制。由此,仅需在自建服务器上激活该文件,即可实现对新动态的自动点赞。此刻,心中是否涌起一丝喜悦?历经诸多复杂步骤,自动点赞功能终于有望得以实现。然而,亦对潜在的错误隐患心生忧虑,因实际操作前,难以确保其绝对稳定无误。

qq空间点赞服务_qq空间点赞业_空间点赞在哪里找

自动评论功能的开启

自动执行点赞操作后,随即启动了自动评论功能的开发。其原理与自动点赞相似,均需从网页中提取关键参数信息,进而构造数据包并发送至指定URL。在先前获取qzonetoken和unikey的基础上,还需精确匹配评论所需的其他相关信息。此环节同样不容忽视,因为尽管评论与点赞功能相似,仍存在细微差别。若任何一个细节出现偏差,均可能造成自动评论功能无法成功实施。

执行此阶段操作时,或将唤起对先前实施自动点赞功能过程中所遭遇诸多挑战的回忆,期望凭借累积的经验,本次过程能够更为顺畅。

代码整合与总结

if ($output){
    //这里匹配出qzonetoken
    preg_match('/window\.g_qzonetoken = \(function\(\)\{ try\{return "(.*?)";\} catch\(e\)/',$output, $matches2);
    $qzonetoken = $matches2[1];
    //正则匹配出unikey和curkey,unikey是$key[1][n],,unikey就是与qq好友相关的说说信息
    $regex1 = '/data-unikey="(http[^"]*)"[^d]*data-curkey="([^"]*)"[^d]*data-clicklog=("like")[^h]*href="javascript:;"/';
	//得到的$key就是我们想要的
    preg_match_all($regex1, $output, $key);
}

将自动点赞与自动评论的代码模块进行融合,此自动点赞及评论的小程序便大致成型。对于那些对此感兴趣的朋友,可以将其封装成类以增强理解。尽管整个过程较为复杂且不尽完美,甚至作者本人也坦言因懒惰而完成此篇博客,然而这仍是一种探索与成果的体现。在大家参与的过程中是否遭遇过相似的问题呢?若有,欢迎在评论区分享您的经历,同时亦期待大家为这篇文章点赞并予以传播。

//构建点赞所需的数据包
    for($i = 0; $i < count($key); $i++){
    	//时间为时间戳格式
    	$time = time();
    	$fid  = explode('/', $key[1][$i]);
    	//数据包
    	$data = array(
		"qzreferrer"	        =>	"https://user.qzone.qq.com/".$qq,
		"opuin"			=>	$qq,
		"unikey"		=>	$key[1][$i],
		"curkey"		=>	$key[2][$i],
		"from"			=>	"1",
		"appid"			=>	"311",
		"typeid"		=>	"0",
		"abstime"		=>	$time,
		"fid"		    =>	$fid[5],
		"active"		=>	"0",
		"fupdate"		=>	"1"
		);
       
    //使用curl发送数据包
	$ch2 = curl_init();
	//点赞请求的url
	$url2 = "https://user.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?g_tk=".$gtk.'&qzonetoken=.'$qzonetoken;
    curl_setopt($ch2, CURLOPT_URL, $url2);
	//请求HTTP报文头
	curl_setopt($ch2, CURLOPT_HTTPHEADER, $http_header);
	//不需要响应报文头
	curl_setopt($ch2, CURLOPT_HEADER, FALSE);
	//跳过https验证
	curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, FALSE); 
	curl_setopt($ch2, CURLOPT_SSL_VERIFYHOST, FALSE); 
	//返回响应信息而不是直接输出
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE);
	//设置post信息
	curl_setopt($ch2, CURLOPT_POST, TRUE);
	//改善数据格式
	curl_setopt($ch2, CURLOPT_POSTFIELDS, http_build_query($data));
	//开始执行
	if($output2 = curl_exec($ch2)){
		echo "点赞成功
"; } else{ echo curl_error($ch2); } curl_close($ch2); }

在线随机小姐姐图片换一批
最新收录
  • 体育赛事分析报道

    让足球滚一会提供足球、篮球、NBA赛事前瞻分析推荐,与各联赛时实新闻报道、球员转会消息、赛事录像回放等资讯,用心认真把每件事做到最好的网站。

  • 足球比分直播

    体育即时比分网提供实时足球比分与篮球比分数据,包括即时比分、赛程、球队、竞猜等数据,让您无时无刻都能掌握时实足球比分与篮球比分动态消息。即时更新各项比赛数据与完赛结果。让足球滚一会带您体验精彩的竞猜足球比赛!

  • 金魔网

    金魔网

  • 外籍模特

    外籍模特

  • imtoken钱包

    :imtoken钱包为您提供最新的imtoken钱包信息,imtoken是全球最大的数字货币钱包,支持包括BTC, ETH, BSC, TRON, Aptos, Polygon, Solana, OKExChain, Polkadot, Kusama, EOS等在内的所有主流公链及Layer 2,已为全球近千万用户提供可信赖的数字货币资产管理服务,也是当前DeFi用户必备的工具钱包。

  • 明星经纪公司

    我们专注提供明星代言、商演、翻包视频、祝福视频录制等业务,十多年行业服务经验