采集

采集有两种方式访问

1、file_get_contents()

2、curl_init()

一、file_get_contents()

1、使用file_get_contents()抓到你网页的内容,当访问有的页面的时候回出现乱码,原因是因为有的页面数据量大需要ji

例如:

$url = "http://www.sohu.com/";  
echo file_get_contents('compress.zlib://'.$url); 

  1. $url = "http://www.sohu.com/";  
  2. echo file_get_contents('compress.zlib://'.$url); 

2、获取页面里面的内容

使用正则规则:

例如:

1.获取title标签的内容:

$preg="#<title>(.*)</title>#isU";  
preg_match_all( $preg,$con,$result);//php正则表达式  
print_r($result);exit;  

[php]  view plain  copy
  1. $preg="#<title>(.*)</title>#isU";  
  2. preg_match_all( $preg,$con,$result);//php正则表达式  
  3. print_r($result);exit;  

2.使用.*的意思是:获取标签里面全部的内容

3.使用i,s,u的意思分别是:

i是将正则表达式取消大小写的敏感性

s 模式中的圆点元字符(.)匹配所有的字符,包括换行符

U (PCRE_UNGREEDY) 本修正符反转了匹配数量的值使其不是默认的重复,

二、curl

 
    

<?php  
$url="http://www.baidu.com/";  
$ch = curl_init();  //1.初始化  
curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");//3.请求方式,请求方式默认是get  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
$tmpInfo = curl_exec($ch);//6.执行  
if (curl_errno($ch)) {//7.如果出错  
    return curl_error($ch);  
}  
curl_close($ch);//8.关闭  
var_dump($tmpInfo);  

猜你喜欢

转载自blog.csdn.net/chao0508/article/details/80371428
今日推荐