400-915-1135
详细

真正解决php小偷程序乱码问题,及利用php小偷来监控网站或是批量查网站标题免费查,不限量

发表日期:2021-08-24 20:33:28   作者来源:超级管理员   浏览:0

最近因为工作的原因,需要批量查询网站的标题,主要是网站维护时,怕有的网站被挂码标题被篡改,但是在网上查找批量查标题工具的时候,找不到合适的工具,有的要收费,有了查的很少达不到批量查询网站标题,有的查的不准,没办法,只能自己利用php程序支持自行编写代码来实现批量查询,下面就是代码的查询方法,这里有一个坑,需要注意的是,一般的php小偷程序的抓取都是会乱码的,各种方法试了个遍发现,当时正常了换个网址就不正常了,用各种方法来转码处理,等等,只要一换个网址,就有可能乱码,原因是因为没有对目标页面的代码进行检测

以下为常规php小偷程序的写法

方法一

<?php

    $url = 'http://demo.zjmainstay.cn/php/curl/simple.html';

    $content = file_get_contents($url);

    echo $content;

方法二

<?php

    $url = 'http://demo.zjmainstay.cn/php/curl/simple.html';

    $ch  = curl_init($url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  //返回数据不直接输出

    $content = curl_exec($ch);                    //执行并存储结果

    curl_close($ch);

    echo $content;

一种是file_get_contents方法 一种是curl方法,这里推荐curl,安全好处多


下面以curl为基础写出批量查询网站的标题的方法,其中解决了一下cURL默认采集不到https网站的解决办法

<?php

ini_set('max_execution_time', '0');

$arr = array('http://www.mb119.com','http://ywdjw.com/','http://www.whbaxj.com/','https://www.94zc.com');

   foreach($arr as $value){//循环上面的 网址数组 如果有很我的网站要查,就按上面格式增加即可

	$url = $value;

    $ch  = curl_init($url);

	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//取消ssl验证解决https不能访问问题

	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);//取消ssl验证解决https不能访问问题

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  //返回数据不直接输出

    $content = curl_exec($ch);                    //执行并存储结果

    curl_close($ch);

	$encode = mb_detect_encoding($content, array("ASCII","UTF-8","GB2312","GBK","BIG5")); //检测采集内容是何编码

	if($encode != "UTF-8"){ //判断目标如果不是UTF-8就执行下面的内容实现转码 如果是直接输出 本页面保存为 UTF-8模式

		$content = mb_convert_encoding($content, 'utf-8','GB2312');

		}

	eregi ("<title>(.*)</title>",$content,$title);

	echo $value."-------".$title[1]."<br/>";

					   

  

  

 }

 

?>

上面代码执行结果(执行过程中会假死很长时间,不要动,等),我测试查询176个网址,用时56秒(php多是60秒执行超时,如果提示超时就减少单次网址查询数量)

QQ截图20210824203252.jpg

url.zip

上面是附件 点击下载,放到php环境即可,如果有困难联系我们,要是有需求的人多,我就搞个公共查询页面供大家使用

以上就是php小偷程序的坑和实际应用

本文章多为网络内容整理而来,如有侵犯您的权益,请联系我们免费删除