`
liumeng5888
  • 浏览: 36539 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

php采集程序

阅读更多

其实,采集程序最简单的思路就是:获取页面代码——分析代码——获取需要的部分——写入数据库

对于采集程序来说,使用PHP来写的话,其实不算太好的,因为PHP并不支持多线程,对于采集来说,若没有多线程,将会是非常痛苦的一件事

不过可以使用frame等来设置同时几个页面一起采集,这样就能增加速度了,在这里我不讨论怎么多线程,我只说怎么用PHP来进行简单的采集

先确定采集目标:http://cn.jokes.yahoo.com/jok/index.html

这是雅虎的笑话栏目,我就以这个来进行讲解吧

首先分析一下网页,可以知道连接形式为:<img src="http://cn.yimg.com/i/cn/px_ar.gif" width=5 height=12 border=0 hspace=5><a href="http://cn.jokes.yahoo.com/07-07-/55/27lot.html" class=list target=_blank><big>头发与智慧</big></a>

使用正则表达式将它表示出来为:/hspace=5><a href="http://cn.jokes.yahoo.com/(.*).html" class=list target=_blank>/isU

书写PHP代码:

代码
// 采集首页地址 
$url="<a href=\"http://cn.jokes.yahoo.com/jok/index.html\">http://cn.jokes.yahoo.com/jok/index.html</a>"; 
// 获取页面代码 
$r = file_get_contents($url); 
// 设置匹配正则 
$preg = '/hspace=5><a href="http://cn.jokes.yahoo.com/(.*).html" class=list target=_blank>/isU'; 
// 进行正则搜索 
preg_match_all($preg, $r, $title); 


通过上面的代码,$title[1][num]就是连接的地址了,接着分析内容页,得到内容匹配正则为:/<div id="newscontent">(.*)</div>/isU

继续写代码:

代码
// 计算标题数量 
$count = count($title[1]); 
// 通过标题数量进行内容采集 
for($i=0;$i<$count;$i++) { 
   // 设置内容页地址 
   $jurl = "<a href=\"http://cn.jokes.yahoo.com/\">http://cn.jokes.yahoo.com/</a>" . $title[1][$i] . ".html";
   // 获取内容页代码 
   $c = file_get_contents($jurl); 
   // 设置内容页匹配正则 
   $p = '/<div id="newscontent">(.*)</div>/isU'; 
   // 进行正则匹配搜索 
   preg_match($p, $c, $content); 
   // 输出标题 
   echo $title[1][$i] . "
"; 
   // 输出内容 
   echo $content[$i]; 
}



这样,一个简单的采集工具就写出来了,其他的功能只需要再进一步的完善就可以了

完整代码:

代码
<?php 
// 采集首页地址 
$url = "<a href=\"http://cn.jokes.yahoo.com/jok/index.html\">http://cn.jokes.yahoo.com/jok/index.html</a>"; 
// 获取页面代码 
$r = file_get_contents($url); 
// 设置匹配正则 
$preg = '/hspace=5><a href="http://cn.jokes.yahoo.com/(.*).html" class=list target=_blank>/isU'; 
// 进行正则搜索 
preg_match_all($preg, $r, $title); 
// 计算标题数量 
$count = count($title[1]); 
// 通过标题数量进行内容采集 
for($i=0;$i<$count;$i++) { 
   // 设置内容页地址 
   $jurl = "<a href=\"http://cn.jokes.yahoo.com/\">http://cn.jokes.yahoo.com/</a>" . $title[1][$i] . ".html"; 
   // 获取内容页代码 
   $c = file_get_contents($jurl); 
   // 设置内容页匹配正则 
   $p = '/<div id="newscontent">(.*)</div>/isU'; 
   // 进行正则匹配搜索 
   preg_match($p, $c, $content); 
   // 输出标题 
   echo $title[1][$i] . "
"; 
   // 输出内容 
   echo $content[$i]; 

?>

分享到:
评论

相关推荐

    php采集程序 宋正河

    【PHP采集程序与宋正河】 在互联网信息爆炸的时代,数据采集成为了获取网络资源的重要手段,PHP作为一款广泛使用的服务器端脚本语言,被广泛应用在网页数据抓取领域。PHP采集程序,顾名思义,是利用PHP编写的一类...

    一个php采集的程序

    【PHP采集程序的基础知识】 PHP采集程序,也称为“小偷程序”,是一种使用PHP语言编写的脚本,用于从互联网上自动抓取和处理数据。这些数据通常包括网页内容、文章、图片等,并且可以被用于建立镜像网站、数据分析...

    PHP 采集程序原码

    ... ...这些库提供了更灵活的选项来模拟浏览器行为,包括设置头部信息、处理...理解并掌握这些知识点对于构建一个高效的PHP采集程序至关重要。同时,持续关注PHP社区的新技术和最佳实践,可以提升程序的性能和稳定性。

    PHP采集程序大全 菜鸟必看 包含思路 小偷程序

    【PHP采集程序大全 - 菜鸟入门指南】 在互联网数据海量的时代,PHP采集程序,又称"小偷程序",成为获取和处理网络信息的重要工具。对于初学者来说,掌握PHP采集技术不仅可以提升开发能力,还能帮助理解网络数据的...

    基于PHP的英文仿论坛PHP采集程序源码.zip

    【标题】"基于PHP的英文仿论坛PHP采集程序源码.zip"揭示了这是一个使用PHP编程语言编写的程序,主要用于从互联网上抓取和处理英文论坛的数据。PHP是一种广泛使用的开源脚本语言,尤其适合Web开发,它允许开发者创建...

    英文仿论坛PHP采集程序源码v20160426

    英文仿论坛PHP采集程序是一款以php进行开发的自动采集网站源码,网站只需相应的php环境即可,无需MySQL即可进行运行。 程序安装说明: 1. 上传目录中的文件到服务器(请确保支持伪静态) 2. 执行安装脚本 /install/ ...

    PHP实例开发源码—英文仿论坛PHP采集程序源码.zip

    【标题】"PHP实例开发源码—英文仿论坛PHP采集程序源码.zip" 提供了一个实践性的PHP项目,旨在帮助开发者了解如何构建一个基于PHP的英文论坛数据采集系统。这个项目可能包含了一些核心功能,如数据抓取、解析、存储...

    微信公众号文章PHP采集程序(平民版)

    微信公众号文章PHP采集程序(平民版),同步了那个六分版的,只为满足广大同胞需求,降为1分

    PHP 简单的采集程序

    以下是一个简单的PHP采集程序框架: ```php &lt;?php $url = 'http://example.com'; // 目标网址 $content = file_get_contents($url); // 获取网页内容 $dom = new DOMDocument(); libxml_use_internal_errors(true)...

    PHP 采集程序原理分析篇

    描述部分详细描述了作者编写PHP采集程序的过程,包括查阅在线教程、尝试实现采集程序、遇到的问题以及最终的理解。作者提到,尽管互联网上有许多相关的教程,但是它们大多存在含糊不清或者不实用的情况。作者通过...

    初级的用php写的采集程序

    下面将详细讨论PHP采集程序的基本概念、常用方法以及可能涉及到的技术。 **1. PHP基础** PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,特别适合于Web开发,可嵌入到HTML中。它提供了丰富的函数库,...

    php微信文章采集

    简单的采集使用。需要的小伙伴下载使用吧,有问题自行修改

    百度音乐php采集程序

    百度音乐采集,可以自动输出歌曲列表,适用php坏境,对懒得打开百度音乐的人非常适合,也可以拿来搭建自己的音乐网站

    自制简易php采集程序,利用curl采集

    自制采集程序,简易无说明,仅供借鉴,不要直接使用哦 使用了php curl采集,包含cookie模拟,伪造来路,数据写入本地,文件图片下载等一系列代码块。因为自用,代码写的很乱,强迫症或技术不娴熟者就别下了

    微信公众号文章PHP采集程序

    用于采集公众号文章内容、发表时间、公众号ID、头像、文章封面、文章标题、公众号名称、BizID、文章摘要等内容。本程序采用PHP编写,欢迎感兴趣的同仁一起交流学习。@author:312036773@qq.com

    英文仿论坛PHP采集程序 v20160426.rar

    PHP采集(小偷)程序,仿论坛的内容采集程序,PHP环境下使用,不包括数据库部分,若需要将采集到的数据保存至数据库,需要自己另加,本代码只展示采集部分的实现。  本程序支持安装,按提示可安装完成,另外,运行...

    PHP 采集程序中常用的函数

    在编写PHP采集程序时,会使用到一系列特定的函数来处理网页内容、获取信息、转换路径等任务。下面根据提供的内容详细解析这些常用函数的知识点。 1. 获得当前脚本的URL 在PHP采集程序中,有时需要获取当前页面的...

Global site tag (gtag.js) - Google Analytics