php抓取网页程序( PHP结合fiddler抓包工具获取请求内容的几个实例讲述了)
优采云 发布时间: 2021-11-19 13:23php抓取网页程序(
PHP结合fiddler抓包工具获取请求内容的几个实例讲述了)
PHP配合fiddler抓包抓取微信索引小程序数据
本文通过一个例子来说明PHP如何配合fiddler抓取微信索引小程序的数据。
这两天研究了微信索引。抓取,按照大体思路,就是使用fiddler抓取手机包,然后解析获取地址,然后请求。
你这么想是对的。如果果断去做,那就太阳太简单了。可以看到,微信抓取有以下几个步骤:
1、开始登录小程序
2、获取访问所需的token
3、然后用这个token来获取数据
第一个难点是小程序的登录步骤。您必须先登录微信才能访问小程序,因为小程序是基于微信运行的。因此,登录时需要使用微信内部生成的js_code的值。光是这一步,就是一个没有底的大坑。
嗯,在概率为十亿分之一的情况下,你得到这个值,然后你得到search_key的值,还有一个UNIX时间戳。
完成后,您可以随心所欲地获取所需的数据吗?? ? ? ? ?
作为一个青少年,你仍然需要保持专注。. . 微信有访问限制系统。当请求某个频率时,会提示频繁操作。所以在你努力之后,仍然没有真正的结果。
网上有一个解决方案,就是用Lua语言配合触摸精灵写一个操作微信的脚本,类似于自动抢红包。用这个脚本完成后自动输入关键词进行查询,然后使用抓包工具获取这些请求的内容。
不清楚使用抓包工具获取请求内容的可以参考:
更不用说这个方案的成功率了。先说效率。有没有可能如果你这样做,微信就不会限制你的请求?? ?
还有学习语言的各种成本。. .
因此,我使用PHP结合fiddler抓包工具设计了一个简单易学的数据抓包程序。让我一一来:
首先是配置fiddler,将捕获的数据保存在本地。
参考链接:
这用于获取访问令牌。PHP核心代码如下:
function get_search_key($path)
{
$file = fopen($path, "r");
$user=array();
$i=0;
while(! feof($file))
{
$user[$i]= mb_convert_encoding ( fgets($file), 'UTF-8','Unicode');
$i++;
}
fclose($file);
$user=array_filter($user);
foreach ($user as $item_u => $value_u) {
if(strstr($value_u,"search_key=")){
$temp[] = $value_u;
}
}
$end_url = end($temp);
$reg = "#openid=[a-zA-Z0-9]++_[a-zA-Z0-9]++&search_key=\d++_\d++#isU";
preg_match_all($reg,$end_url,$time);
return $time[0][0];
}
输入保存的文件的地址,获取返回值,拿这个返回值进行请求,就可以得到你想要的数据了。
不过,这东西也有缺陷。首先是配置手机连接电脑。关于这一点,我会在后面的评论中补充。接下来是配置 fiddler 将包保存到本地文件。还需要手机访问小程序后,程序才能成功运行。有点难。
更多对PHP相关内容感兴趣的读者可以查看本站专题:《php socket使用总结》、《php字符串(string)用法总结》、《PHP数学运算技巧总结》、《php面向对象编程入门教程》 》、《PHP数组(数组)操作技巧》、《PHP数据结构与算法教程》、《PHP编程算法总结》、《PHP网络编程技巧总结》
我希望这篇文章对你的 PHP 编程有所帮助。
下一节:详解基于Laravel框架路由的PHP编程技术
本文介绍了 Laravel5.1 框架路由的基础知识。什么是路由?路由是用户访问我们程序的入口点,例如:在浏览器中输入:会打开一个页面,我们收到这个请求后...