php几种抓取网页的方法推荐

作者: admin 分类: php 发布时间: 2017-04-11 07:02

几种抓取网页的方法推荐使用curl和file_get_contents
实际上任何能够模拟http协议的方法都可以实现网页抓取,几个函数本质上都是使用socket模拟的http协议,这里给出几种简单的实现方法

<?php 
@header("Content-Type: text/html; charset=UTF-8");
//不限执行时间
set_time_limit(0); 
error_reporting(0);


//使用curl抓取网页
function get_content($url) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书主要解决https抓取不到的问题
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    $rs = curl_exec($ch); //执行cURL抓取页面内容 
    curl_close($ch);
    return $rs; 
} 

//使用fopen 抓取网页
function get($url){
	$fp=fopen($url,"rb");
	if($fp){
		while(!feof($fp)){
			$con.=fread($fp, 1024);
		}
		fclose($fp);
	}
	return $con;

}
//使用filegetcontents抓取网页
file_get_contents("http://www.shibangchina.com/");

//$content=get_content("http://www.shibangchina.com/");


$content=get("http://www.shibangchina.com/");
echo $content;
?>

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注