各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php使用什么做数据采集

管理员 2023-09-05
PHP
121

php使用什么做数据采集

内容导读

收集整理的这篇技术教程文章主要介绍了php使用什么做数据采集,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1903字,纯文字阅读大概需要3分钟

内容图文

什么叫采集?

就是使用PHP程序,把其他网站中的信息抓取到我们自己的数据库中、网站中。

PHP制作采集的技术:

从底层的socket到高层的文件操作函数,一共有3种方法可以实现采集。

1. 使用socket技术采集:(推荐学习:PHP编程从入门到精通)

socket采集是最底层的,它只是建立了一个长连接,然后我们要自己构造http协议字符串去发送请求。

例如要想获取优酷页面的内容,用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.1rn";   //  rn表示前面的是一个命令  $http.="Host:www.youku.comrn";  //请求的主机  $http.="Connection:closernrn";   // 连接关闭,最后一行要两个rn     //发送这个字符串到服务器  fwrite($fp,$http,strlen($http));  //接收服务器返回的数据  $data='';  while (!feof($fp)) {  $data.=fread($fp,4096);  //fread读取返回的数据,一次读取4096字节  }  //关闭连接  fclose($fp);  var_dump($data);  ?>

打印出的结果如下,包含了返回的头信息及页面的源码:

2. 使用curl_一套函数

curl把HTTP协议都封装成了很多函数,直接传相应参数即可,降低了编写HTTP协议字符串的难度。

前提:在php.ini中要开启curl扩展。

function getHTTPS($url) {  $ch = curl_init();  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  curl_setopt($ch, CURLOPT_HEADER, false);  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_REFERER, $url);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);  $result = curl_exec($ch);  curl_close($ch);  return $result;}var_dump(getHTTPS($url));

打印出的结果如下,只包含页面的源码:

3. 直接使用file_get_contents(最顶层的)

前提:在php.ini中设置允许打开一个网络的url地址。

//使用file_get_contents()  $data=file_get_contents("http://www.youku.com");  var_dump($data);

以上就是php使用什么做数据采集的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php使用什么做数据采集全部内容,希望文章能够帮你解决php使用什么做数据采集所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部