php抓取朋友圈发布数据如何实现?
最近小编发现学习PHP语言的人越来越多了,而且大家似乎进度还很快,已经在学习如何用PHP抓取动态网页内容了。今天小编就以抓去微信朋友圈发布的数据为例子,来给大家详细介绍一下PHP抓去动态网页内容的方法,各位小伙伴不要开小差哦。
$url = "网站地址目录";
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的数据是utf-8编码的,这一行可以注销,如果需要gbk编码的,请保留.如果出现乱码,就是一行的问题,你自己调着试吧
//echo $holder;exit; 此处可以输出来测试.
$html = str_replace(array(" "," "," "),"",$html);
$preg = '/]+>(.*?)/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/]+>(.*?)/',$out[1][0],$tr);
//匹配每个td
$result = array();
$match = '/([^<]+)/U';
foreach( $tr[0] as $key => $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//输出测试,$result就是你要的数据,至于你要怎么输出显示格式,那就随心调就好了。
foreach( $result as $key => $value ){
echo implode(" ",$value);
echo "
";
}
exit;
什么叫采集?
就是使用PHP程序,把其他网站中的信息抓取到我们自己的数据库中、网站中。
PHP制作采集的技术:
从底层的socket到高层的文件操作函数,一共有3种方法可以实现采集。
1. 使用socket技术采集:
socket采集是最底层的,它只是建立了一个长连接,然后我们要自己构造协议字符串去发送请求。
例如要想获取这个页面的内容,tv.youku/?spm=a2hww.20023042.topNav.5~1~3!2~A,用socket写如下:
[php] view plain copy
//连接,$error错误编号,$errstr错误的字符串,30s是连接超时时间
$fp=fsockopen(".youku",80,$errno,$errstr,30);
if(!$fp) die("连接失败".$errstr);
//构造协议字符串,因为socket编程是最底层的,它还没有使用协议
$="GET /?spm=a2hww.20023042.topNav.5~1~3!2~A HTTP/1.1 "; // 表示前面的是一个命令
$.="Host:.youku "; //请求的主机
$.="Connection:close "; // 连接关闭,最后一行要两个
//发送这个字符串到服务器
fwrite($fp,$,strlen($));
//接收服务器返回的数据
$data='';
while (!feof($fp)) {
$data.=fread($fp,4096); //fread读取返回的数据,一次读取4096字节
}
//关闭连接
fclose($fp);
var_dump($data);
?>
打印出的结果如下,包含了返回的头信息及页面的源码:
以上就是今天微微风小编给大家带来的php抓取朋友圈发布数据如何实现?的内容,PHP是一种十分强大的服务器端语言,能够实现动态网页,还能很好的与前端开发语言进行数据互通,是一种十分快捷方便的高级编程语言,大家一定要仔细学习哦。
推荐阅读:
区块链对世界的重新定义引关注
跟女生表白最感动的话大全
2018微信8个字微信签名大全
下一篇:php如何分享好友数据到朋友圈?