首页 > 代码库 > php网页爬虫
php网页爬虫
<?php
/*网页爬虫*/
#最简单的使用,属性都采用默认值
/*
$curl=curl_init(‘http://www.baidu.com‘);
$output=curl_exec($curl);
curl_close($curl);
echo $output;
*/
#稍微复杂一点的,对页面进行操作
/*
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL, ‘http://www.baidu.com‘);//可以动态改变网址
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//不直接打印在浏览器上
$output=curl_exec($curl);//执行
curl_close($curl);//关闭
echo str_replace(‘百度‘, ‘虎哥‘, $output);
*/
#更复杂一点的,模拟POST请求
/*
$data=http://www.mamicode.com/‘theCityName=北京‘;
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL,‘http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName‘);
curl_setopt($curl,CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_POST, 1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl,CURLOPT_HTTPHEADER,array(‘application/x-www-form-rulencode;charset=utf-8‘,‘Content-length‘.strlen($data)));
$output=curl_exec($curl);
if(!curl_errno($curl)){
//$info=curl_getinfo($curl);
//print_r($info);
header(‘Content-type:text/html;charset=utf-8;‘);
echo $output;
}else{
echo ‘Curl Error:‘.curl_error($curl);
}
curl_close($curl);
*/
#抓取需要登录的页面
/*
$data=http://www.mamicode.com/‘username=2232839753@qq.com&password=19900417&remember=1‘;
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,‘http://www.imooc.com/user/login‘);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);//执行之后不直接打印出来
//Cookie相关设置,这部分设置需要在所有回话开始之前设置
date_default_timezone_set(‘PRC‘);//使用cookie时必须设置时区
curl_setopt($curl,CURLOPT_COOKIESESSION, true);
curl_setopt($curl,CURLOPT_COOKIEFILE,‘cookiefile‘);
curl_setopt($curl,CURLOPT_COOKIEJAR,‘cookiefile‘);
curl_setopt($curl,CURLOPT_COOKIE, session_name().‘=‘.session_id());
curl_setopt($curl,CURLOPT_HEADER,0);//禁止输出头信息
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl,CURLOPT_POST, 1);
curl_setopt($curl,CURLOPT_POSTFIELDS, $data);
curl_setopt($curl,CURLOPT_HTTPHEADER,array(‘application/x-www-form-rulencode;charset=utf-8‘,‘Content-length:‘.strlen($data)));
curl_exec($curl);//执行
curl_setopt($curl,CURLOPT_URL,‘http://www.imooc.com/space/index‘);
curl_setopt($curl,CURLOPT_POST,0);//下载页面不是post请求,故置0
curl_setopt($curl,CURLOPT_HTTPHEADER,array(‘Content-type:text/xml‘));
$output=curl_exec($curl);
echo $output;
*/
#从ftp服务器上下载一个文件
/*
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,‘ftp://10.14.12.22:21/test.txt‘);
curl_setopt($curl,CURLOPT_HEADER,0);//禁止输出头信息,调试时,可以输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_TIMEOUT,300);//设置超时时间,单位秒
curl_setopt($curl,CURLOPT_USERPWD,"admin:123");//ftp用户名,密码
$outfile=fopen(‘mytest.txt‘, ‘wb‘);//保存到本地的文件名
curl_setopt($curl,CURLOPT_FILE,$outfile);
$output=curl_exec($curl);
fclose($outfile);
if(!curl_errno($curl)){
//$info=curl_getinfo($curl);
//print_r($info);
echo "RETURN:".$output;
}else{
echo ‘Curl error:‘.curl_error($curl);
}
curl_close($curl);
*/
#ftp文件上传
/*
$curl=curl_init();
$uploadfile=‘demo1.php‘;
$fp=fopen($uploadfile,‘r‘);
curl_setopt($curl, CURLOPT_URL, ‘ftp://10.14.12.22:21/uploadfile.php‘);
curl_setopt($curl, CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_TIMEOUT,300);
curl_setopt($curl,CURLOPT_USERPWD,‘admin:123‘);
curl_setopt($curl,CURLOPT_UPLOAD,1);
curl_setopt($curl, CURLOPT_INFILE, $fp);
curl_setopt($curl,CURLOPT_INFILESIZE,filesize($uploadfile));
$output=curl_exec($curl);
fclose($fp);
if(!curl_errno($curl)){
echo ‘uploadfile successfully‘;
}else{
echo ‘uploadfile error:‘.curl_error($curl);
}
curl_close($curl);
*/
#curl访问https上的资源
/*
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,‘https://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.js‘);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
date_default_timezone_set(‘PRC‘);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);//终止从服务端进行验证
$output=curl_exec($curl);
curl_close($curl);
echo $output;
*/
$data=http://www.mamicode.com/‘{
"button": [
{
"name": "我要淘书",
"sub_button": [
{
"type": "click",
"name": "注册账号",
"key": "zcyh"
},
{
"type": "click",
"name": "账号绑定",
"key": "bd"
},
{
"type": "click",
"name": "图书搜索",
"key": "tsss"
},
{
"type": "click",
"name": "卖书订单",
"key": "cx@sell"
},
{
"type": "click",
"name": "买书订单",
"key": "cx@buy"
}
]
},
{
"name": "努力学习",
"sub_button": [
{
"type": "click",
"name": "成绩查询",
"key": "cjcx"
},
{
"type": "click",
"name": "考场查询",
"key": "kccx"
},
{
"type": "click",
"name": "课表查询",
"key": "kbcx"
}
]
},
{
"name": "多彩生活",
"sub_button": [
{
"type": "click",
"name": "学霸工具",
"key":"xbtool"
},
{
"type": "view",
"name": "校园周边",
"url":"http://weixuebar.duapp.com/View/surround/schoolSurround.html"
},
{
"type": "click",
"name": "在线翻译",
"key": "zxfy"
},
{
"type": "click",
"name": "学霸社区",
"key": "xbsq"
},
{
"type": "view",
"name": "联系我们",
"url": "http://weixuebar.duapp.com/View/help.html"
}
]
}
]
}‘;
$url=‘https://api.weixin.qq.com/cgi-bin/menu/create?access_token=4__FZWKzO1gP2_PhvUE9F9_1rpWy2whbQUfKIuvRNBQHnfDrfANGRogi0RXYSwxUW2CYkrfGlKtB5I5wTOOLoA‘;
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_POST, 1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
date_default_timezone_set(‘PRC‘);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);//终止从服务端进行验证
curl_setopt($curl,CURLOPT_HTTPHEADER,array(‘application/x-www-form-rulencode;charset=utf-8‘,‘Content-length‘.strlen($data)));
$output=curl_exec($curl);
curl_close($curl);
echo $output;
/*curl_setopt($curl, CURLOPT_URL,‘http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName‘);
curl_setopt($curl,CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_POST, 1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl,CURLOPT_HTTPHEADER,array(‘application/x-www-form-rulencode;charset=utf-8‘,‘Content-length‘.strlen($data)));
*/
//php官方文档网址:http://php.net/manual/zh/book.curl.php
?>
本文出自 “虎哥的博客” 博客,请务必保留此出处http://7613577.blog.51cto.com/7603577/1531692