php抓取朋友圈发布数据如何实现?PHP抓去动态网页内容的方法
最近小编发现越来越多的人在学习PHP语言,而且大家似乎进步都很快。他们已经在学习如何使用PHP 抓取动态Web 内容。今天小编就以微信朋友圈发布的数据为例,给大家详细介绍一下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//忽略',$html);
//如果你需要的数据是utf-8编码的,这一行可以注销。如果需要gbk编码,请保留。如果出现乱码,就是线路问题。你可以自己调试一下。
//回显$holder;退出;可以在这里输出进行测试。
$html=str_replace(array('\n','\r','\t'),'',$html);
$preg='/]+(.*?)\/table/';
preg_match_all($preg,$html,$out);
//匹配每一行
preg_match_all('/]+(.*?)\/tr/',$out[1][0],$tr);
//匹配每个td
$结果=数组();
$match='/([^]+)\/td/U';
foreach( $tr[0] 作为$key=$value ){
preg_match_all($match,$value,$arr);
$结果[]=$arr[1];
}
//输出测试,$result就是你想要的数据。至于你想如何输出显示格式,随意调整即可。
foreach( $结果为$key=$value ){
echo 内爆('\t',$value);
回声'
';
}
出口;
什么是收藏?
就是利用PHP程序将其他网站的信息抓取到我们自己的数据库和网站中。
PHP制作及采集技术:
从底层的socket到高层的文件操作函数,共有三种方法来实现收集。
1.使用socket技术采集:
套接字收集是最低级别的。它只是建立一个长连接,然后我们要自己构造http协议字符串来发送请求。
比如要获取http://tv.youku.com/?spm=a2hww.20023042.topNav.5~1~3!2~A这个页面的内容,使用socket写法如下:
[php] 查看纯文本
//连接,$error错误号,$errstr错误字符串,30s为连接超时时间
$fp=fsockopen('www.youku.com',80,$errno,$errstr,30);
if(!$fp) die('连接失败'.$errstr);
//构造http协议字符串,因为socket编程是最底层的,还没有使用http协议
$http='GET /?spm=a2hww.20023042.topNav.5~1~3!2~A HTTP/1.1\r\n'; //
\r\n 表示前一个是命令
$http.='主机:www.youku.com\r\n'; //请求的主机
$http.='连接:关闭\r\n\r\n'; //连接关闭,最后一行需要两个\r\n
//将此字符串发送到服务器
fwrite($fp,$http,strlen($http));
//接收服务器返回的数据
$数据='';
while (!feof($fp)) {
$data.=fread($fp,4096); //fread读取返回的数据,一次读取4096字节
}
//关闭连接
fclose($fp);
var_dump($数据);
?
打印结果如下,包括返回的头信息和页面源代码:
以上就是小编今天给大家带来的内容如何使用PHP抓取朋友圈发布的数据? PHP是一种非常强大的服务器端语言,可以实现动态网页,也可以与前端开发语言进行通信。互操作性是一种非常快速和方便的高级编程语言。你必须仔细研究它。