`
刘逸君
  • 浏览: 39260 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php数据采集

    博客分类:
  • php
 
阅读更多
<?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数据采集.doc

    【PHP网站编程技术-PHP数据采集】 在PHP网站开发中,数据采集是核心部分,它涉及到用户通过HTML表单向服务器提交数据,并由PHP处理这些数据。本实验旨在让学生掌握如何利用PHP进行数据采集和验证的基本技能。实验...

    php数据采集扩展

    该扩展是php实现数据采集必用的工具,国外大牛编写,有官方文档,亲测好用并推荐!

    PHP 数据采集工具

    这是我写的一个数据采集工具,只能采集文章。不过为我赢得了一个一等奖,所以把代码和大家分享,也希望大家能够将它完善,呵呵呵呵。。。 使用方法:在添加采集器里面添加规则,在里面填入HTML的标示,用{content}...

    深入php数据采集的详解

    本文将详细介绍两种PHP数据采集工具:Snoopy和simple_html_dom,并探讨它们的特点和使用方法。 首先,Snoopy是一个PHP类库,它的主要功能是模拟浏览器行为,用于获取网页内容并执行表单提交。以下是一些Snoopy的...

    PHP书库-新闻采集程序.rar

    3. **数据抓取框架**:压缩包中可能包含了某种PHP数据采集框架,如Guzzle、Crawler等,这些框架提供了方便的API,简化了网页数据抓取的过程,提高了效率。 4. **正则表达式与DOM解析**:在PHP中,正则表达式常用于...

    PHP_cj.rar_cj_采集 php_采集入库

    这个名为"PHP_cj.rar_cj_采集 php_采集入库"的压缩包文件,显然包含了关于这一主题的详细教程或代码示例,适合想要学习或改进其PHP数据采集和入库技能的开发者。 首先,我们要理解什么是数据采集,也被称为网页抓取...

    基于PHP的体育php采集 v1.8.zip

    【标题】"基于PHP的体育php采集 v1.8.zip" 涉及的主要知识点是PHP编程语言在数据采集和体育信息处理领域的应用。...对于想要学习PHP数据采集或者体育数据分析的用户来说,这是一个有价值的实践案例。

    PHP实例开发源码—PHP采集网-英文论坛.zip

    在实际的PHP数据采集项目中,这样的命名可能对应着抓取任务的ID或者是抓取到的数据文件。 基于以上信息,我们可以深入探讨以下PHP数据采集相关的知识点: 1. **PHP基础**:理解变量、数据类型、控制结构(如if-...

    PHP网站实例开发源码——小蜜蜂格式数据采集系统(BCC).zip

    【PHP网站实例开发源码——小蜜蜂格式数据采集系统(BCC)】 小蜜蜂格式数据采集系统(BCC)是一个基于PHP语言开发的实用工具,专用于网络数据抓取和处理。这个系统的核心目标是帮助开发者或者网站管理员高效地从互联网...

    PHP采集的类(例子)

    通过学习这个例子,开发者不仅可以掌握PHP数据采集的基本流程,还能了解到如何组织和封装这些功能。同时,了解并实践Alan在PHP100分享的技巧,有助于提升自己的编程能力。记得在实际使用时遵守网站的robots.txt规则...

    PHP100视频教程83:PHP开发通用采集入库程序二.rar

    通过这个教程,学习者可以掌握如何构建一个基本的PHP数据采集系统,从而提升在Web开发中的数据处理能力。在实际工作中,这样的技能可以帮助开发者快速获取和整合网络信息,为业务提供有力的数据支持。

    LabVIEW的多通道数据采集系统(毕业论文)

    本设计采用NI PCI-6221数据采集卡,运用虚拟仪器及其相关技术于多通道数据采集系统的设计。该系统具有数据同时采集、采集数据实时显示、存储与管理、报警记录等功能,最后使用Web技术实现了采集数据的远程访问。 ...

    PHP网站实例开发源码——HMJ采集器无数据库版.zip

    尽管如此,它仍具有一定的学习价值,可以让人了解早期PHP数据采集器的设计思路和实现方式。 在没有数据库支持的情况下,HMJ采集器可能采用文件系统或者序列化的方式来存储和管理数据。文件系统存储可以通过创建文本...

    php采集,网站采集

    本话题将深入探讨如何使用PHP进行网站数据采集,包括基础概念、常用方法以及两个具体的PHP脚本示例——hehe.php和txt.php。 首先,理解数据采集的基本原理至关重要。数据采集,也称为网页抓取或网络爬虫,是指通过...

    PHP网站实例开发源码——小蜜蜂格式数据采集系统(BCC).rar

    【PHP网站实例开发源码——小蜜蜂格式数据采集系统(BCC)】 小蜜蜂格式数据采集系统(Bee Format Data Collection System,简称BCC)是一款基于PHP语言开发的实用工具,主要用于自动化地从互联网上抓取、整理和存储...

    【设计】PHP教学大纲PHP程序设计教学大纲PHP动态网站教学大纲.docx

    - **掌握**:创建FORM表单,PHP数据采集方法,文件上传功能实现。 - **重点**:使用$_GET和$_POST,文件上传数据采集,服务器端其他数据采集方法。 - **难点**:结合PHP数组实现简单的“用户注册系统”。 通过本...

    PHP采集插件专用于PHP

    【PHP采集插件专用于PHP】是一个专门为PHP开发的网页数据采集工具,它极大地简化了在PHP环境中抓取网络数据的过程。PHP作为一种流行的服务器端脚本语言,常常被用来处理和解析网页内容,而采集插件则为这种处理提供...

    基于PHP的网络数据采集.pdf

    "基于PHP的网络数据采集" PHP 是一种广泛应用于 web 开发的编程语言,具有强大的网络数据采集功能。在本文中,我们将探讨基于 PHP 的网络数据采集技术,讨论常用的数据采集方法和实现过程。 1. 使用 file_get_...

Global site tag (gtag.js) - Google Analytics