<?php
function get_page_content($url){
$url = preg_replace('/^http:\/\//i', '', $url);
$temp = explode('/', $url);
$host = array_shift($temp);
$path = '/'.implode('/', $temp);
$temp = explode(':', $host);
$host = $temp[0];
$port = isset($temp[1]) ? $temp[1] : 80;
$fp = @fsockopen($host, $port, &$errno, &$errstr, 30);
if ($fp){
@fputs($fp, "GET $path HTTP/1.1\r\nHost: $host\r\nAccept: */*\r\nReferer:$url\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\nConnection: Close\r\n\r\n");
}
$Content = '';
while ($str = @fread($fp, 4096)){
$Content .= $str;
}
@fclose($fp);
//重定向
if(preg_match("/^HTTP\/\d.\d 301 Moved Permanently/is",$Content)){
if(preg_match("/Location:(.*?)\r\n/is",$Content,$murl)){
return get_page_content($murl[1]);
}
}
//读取内容
if(preg_match("/^HTTP\/\d.\d 200 OK/is",$Content)){
preg_match("/Content-Type:(.*?)\r\n/is",$Content,$murl);
$contentType=trim($murl[1]);
$Content=explode("\r\n\r\n",$Content,2);
$Content=$Content[1];
}
return $Content;
}
function go($page){
$aa = get_page_content("http://www.csto.com/member/pg:".$page);
//echo $aa;
$arr = array();
preg_match_all('/<span class="authentication fr">(.*?)<span class="status">/s',$aa,$row);
//print_r($row[1]);
$html_arr = $row[1];
foreach($html_arr as $key=>$value){
preg_match_all('/ <a href=".*?">(.*?)<\/a>/s',$value,$row2);
//print_r($row2);
//$url = $row2[1][0];
$name = $row2[1][0];
$url = "http://www.csto.com/u/".urlencode($name)."/profile";
//echo $url;
//break;
$profile = get_page_content($url);
//echo $profile;
preg_match_all('/<div class="contbox">(.*?)<div class="talent_right">/s',$profile,$row3);
//print_r($row3);
$contbox = $row3[1][0];
//echo $contbox;
preg_match_all('/[\w.%-]+@[\w.-]+\.[a-z]{2,4}/',$contbox,$row4);
$email = (count($row4[0])>0)?$row4[0][0]:"";
//echo $email;
//print_r($row4);
if($email!="")
array_push($arr, array("name"=>$name,"email"=>$email));
//break;
}
return $arr;
}
echo ",";
//echo $_GET['page'];
echo json_encode(go($_GET['page']));
//print_r(go(1));
?>
分享到:
相关推荐
【PHP网站编程技术-PHP数据采集】 在PHP网站开发中,数据采集是核心部分,它涉及到用户通过HTML表单向服务器提交数据,并由PHP处理这些数据。本实验旨在让学生掌握如何利用PHP进行数据采集和验证的基本技能。实验...
该扩展是php实现数据采集必用的工具,国外大牛编写,有官方文档,亲测好用并推荐!
这是我写的一个数据采集工具,只能采集文章。不过为我赢得了一个一等奖,所以把代码和大家分享,也希望大家能够将它完善,呵呵呵呵。。。 使用方法:在添加采集器里面添加规则,在里面填入HTML的标示,用{content}...
本文将详细介绍两种PHP数据采集工具:Snoopy和simple_html_dom,并探讨它们的特点和使用方法。 首先,Snoopy是一个PHP类库,它的主要功能是模拟浏览器行为,用于获取网页内容并执行表单提交。以下是一些Snoopy的...
3. **数据抓取框架**:压缩包中可能包含了某种PHP数据采集框架,如Guzzle、Crawler等,这些框架提供了方便的API,简化了网页数据抓取的过程,提高了效率。 4. **正则表达式与DOM解析**:在PHP中,正则表达式常用于...
这个名为"PHP_cj.rar_cj_采集 php_采集入库"的压缩包文件,显然包含了关于这一主题的详细教程或代码示例,适合想要学习或改进其PHP数据采集和入库技能的开发者。 首先,我们要理解什么是数据采集,也被称为网页抓取...
【标题】"基于PHP的体育php采集 v1.8.zip" 涉及的主要知识点是PHP编程语言在数据采集和体育信息处理领域的应用。...对于想要学习PHP数据采集或者体育数据分析的用户来说,这是一个有价值的实践案例。
在实际的PHP数据采集项目中,这样的命名可能对应着抓取任务的ID或者是抓取到的数据文件。 基于以上信息,我们可以深入探讨以下PHP数据采集相关的知识点: 1. **PHP基础**:理解变量、数据类型、控制结构(如if-...
【PHP网站实例开发源码——小蜜蜂格式数据采集系统(BCC)】 小蜜蜂格式数据采集系统(BCC)是一个基于PHP语言开发的实用工具,专用于网络数据抓取和处理。这个系统的核心目标是帮助开发者或者网站管理员高效地从互联网...
通过学习这个例子,开发者不仅可以掌握PHP数据采集的基本流程,还能了解到如何组织和封装这些功能。同时,了解并实践Alan在PHP100分享的技巧,有助于提升自己的编程能力。记得在实际使用时遵守网站的robots.txt规则...
通过这个教程,学习者可以掌握如何构建一个基本的PHP数据采集系统,从而提升在Web开发中的数据处理能力。在实际工作中,这样的技能可以帮助开发者快速获取和整合网络信息,为业务提供有力的数据支持。
本设计采用NI PCI-6221数据采集卡,运用虚拟仪器及其相关技术于多通道数据采集系统的设计。该系统具有数据同时采集、采集数据实时显示、存储与管理、报警记录等功能,最后使用Web技术实现了采集数据的远程访问。 ...
尽管如此,它仍具有一定的学习价值,可以让人了解早期PHP数据采集器的设计思路和实现方式。 在没有数据库支持的情况下,HMJ采集器可能采用文件系统或者序列化的方式来存储和管理数据。文件系统存储可以通过创建文本...
本话题将深入探讨如何使用PHP进行网站数据采集,包括基础概念、常用方法以及两个具体的PHP脚本示例——hehe.php和txt.php。 首先,理解数据采集的基本原理至关重要。数据采集,也称为网页抓取或网络爬虫,是指通过...
【PHP网站实例开发源码——小蜜蜂格式数据采集系统(BCC)】 小蜜蜂格式数据采集系统(Bee Format Data Collection System,简称BCC)是一款基于PHP语言开发的实用工具,主要用于自动化地从互联网上抓取、整理和存储...
- **掌握**:创建FORM表单,PHP数据采集方法,文件上传功能实现。 - **重点**:使用$_GET和$_POST,文件上传数据采集,服务器端其他数据采集方法。 - **难点**:结合PHP数组实现简单的“用户注册系统”。 通过本...
【PHP采集插件专用于PHP】是一个专门为PHP开发的网页数据采集工具,它极大地简化了在PHP环境中抓取网络数据的过程。PHP作为一种流行的服务器端脚本语言,常常被用来处理和解析网页内容,而采集插件则为这种处理提供...
"基于PHP的网络数据采集" PHP 是一种广泛应用于 web 开发的编程语言,具有强大的网络数据采集功能。在本文中,我们将探讨基于 PHP 的网络数据采集技术,讨论常用的数据采集方法和实现过程。 1. 使用 file_get_...