
正文
利用php采集数据 利用php采集数据的方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php怎么抓取其它网站数据
可以用以下4个方法来抓取网站 的数据:
1. 用 file_get_contents 以 get 方式获取内容:
?
$url = '';
$html = file_get_contents($url);
echo $html;
2. 用fopen打开url,以get方式获取内容
?
$url = '';
$fp = fopen($url, 'r');
stream_get_meta_data($fp);
$result = '';
while(!feof($fp))
{
$result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);
3. 用file_get_contents函数,以post方式获取url
?
$data = array(
'foo'='bar',
'baz'='boom',
'site'='',
'name'='nowa magic');
$data = http_build_query($data);
//$postdata = http_build_query($data);
$options = array(
'http' = array(
'method' = 'POST',
'header' = 'Content-type:application/x-www-form-urlencoded',
'content' = $data
//'timeout' = 60 * 60 // 超时时间(单位:s)
)
);
$url = "";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;
4、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展
$url = '';
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
相关问答
Q1: php通过post传输的json数据能采集吗
不能。所谓的json数据格式是http请求中的body是一个json格式的字符串,这个用$_POST就获取不到了。PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。
Q2: 用PHP进行数据采集
$strPreg = "|td[^]+([^]+)\/td\s*td[^]+([^]+)\/td\s*td[^]+([^]+)\/td|U";
搞定了才发现你都没悬赏分。。。
Q3: PHP数据采集问题(相对地址转绝对地址)
其实用不着这么麻烦的,采集时,你看到的图片路径是相对地址,是相对当前域名的一个相对路径而已,你只要在前面加上
http://当前域名(采集内容的域名,比如zhidao.baidu.com)/
就是它的绝对地址了,
就像/abc.jpg一样
http://当前域名(采集内容的域名,比如zhidao.baidu.com)/abc.jpg就是绝对地址了
没必要搞复杂
Q4: 怎么用php采集网站数据
简单的分了几个步骤:
1、确定采集目标
2、获取目标远程页面内容(curl、file_get_contents)
3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样
4、入库
Q5: 怎样用php 采集百度地图的数据
一般来说,PHP采集数据最简单的办法是使用file_get_content函数,功能更强大的推荐使用cURL函数库。
利用php采集数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于利用php采集数据的方法、利用php采集数据的信息别忘了在本站进行查找喔。







