php采集(php小偷)程序设计教程
如何采集?
通常采集程序,都是有的放矢的。也就是需要有目标网站,搜集一些你需要的采集内容的网站,分别对其html代码进行分析php采集类,找出规律性的东西,依据你要采集的特
如何采集? 如何采集? 通常采集程序,都是有的放矢的。也就是需要有目标网站,搜集一些你需要的采集内容的网站,分别对其html代码进行分析php采集类,找出规律性的东西,依据你要采集的特定内容,写出php代码。采集到你要的东西以后,你可以选择自己需要的存放方式。比如直接生成html页面,或是放进数据库,作进一步处理或是存放成特定的形式,以备后用。 针对目标网站,我们可以采用以下方式: 1.使用file()函数,获取目标页面文件流,转换成字符串,作进一步处理. 一个范例函数: CODE: //获取目标页面文件流并转换成字符串形式 function openfile($url) { if(file($url)){ $str = file($url); $count = count($str); for ($i=0;$i $file .= $str[$i]; } return $file; } else { die("文件打开失败!"); } } 用法举例: $getstr=openfile("http://86enjoy.com"); //getsrt是一个字符串,你可对它作进一步处理。2.使用file_get_contents()函数,该函数可以直接将获取的web页面内容转换成字符串 CODE: $getstr=file_get_contents("http://86enjoy.com"); //getsrt就是一个字符串,你可对它作进一步处理。3.使用Microsoft.XMLHTTP组件方式。不过该组件需要windows平台支持,它是windows的一个组件,php程序以com形式调用它。 范例程序: CODE: 用法:get.php?id="目标页面"4.使用fsockopen()函数,获取文件流 范例程序: CODE: function request_url($url,$method='POST') { $url = parse_url($url); //解析url地址,取得host,path,port,query等 if (!$url) return "couldn't parse url"; if (!isset($url['port'])) { $url['port'] = ""; } if (!isset($url['query'])) { $url['query'] = ""; } //连接服务器 $fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80); if (!$fp) return "不能连接".$url['host']."服务器"; //发送请求 fputs($fp, sprintf("$method %s%s%s HTTP/1.0/n", $url['path'], $url['query'] ? "?" : "", $url['query'])); fputs($fp, "Host: $url[host]/n"); fputs($fp, "Content-type: application/x-www-form-urlencoded/n"); fputs($fp, "Connection: close/n/n"); //获得请求后返回的内容 $line = fgets($fp,1024); if (!eregi("^HTTP/1/.. 200", $line)) return; $results = ""; while(!feof($fp)) { $line = fgets($fp,1024); $results .= $line; } fclose($fp); return $results; } 函数用法: $getstr=request_url("目标页面"); (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |