设为首页 收藏本站
查看: 3453|回复: 0

[经验分享] php网页爬虫

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-29 10:59:01 | 显示全部楼层 |阅读模式
<?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='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='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='{
    "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
?>


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-22832-1-1.html 上篇帖子: php加密算法小结 下篇帖子: php操作mysql小结 网页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表