0

0

php采集入门教程,教你如何写采集

php中文网

php中文网

发布时间:2016-06-08 17:29:35

|

2060人浏览过

|

来源于php中文网

原创

php采集入门教程,教你如何写采集

我们第一步是采集所有的连接,我们这个可不是简单的采集一篇文章哦,我们要做的是采集整本书,并且保存到一个文本,因为现在MP3普及了,都可以看电子书了。
一本书要怎么保存呢,当然是要用书名保存便于查找拉,我们先来采集这本书的标题,
先来看一下原形:

规律是:

我们来写一下正则表达式吧,不要告诉我不会,不会就来湖南拉,嘿嘿很多大鸟的。
正则表达式:

下面开始开工拉!我们首先要获得资源,这里需要用到一个函数:
file_get_contents()
介绍:
主要功能:将整个文件读入一个字符串
  原形是:string file_get_contents
( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )


具体什么意思呢,其实就是告诉你在某个资源内搜索符合规定的字符串并赋予给一个变量
  上边是开始需要用到的,我们了解一点就开始写一点那样更能够深刻的理解并且能记住,我来分析下写程序的思路:
我们采集一个地址,不会是就采集一本书把所以我们的采集地址是变化的,变化的用什么呢?这个时候一个硕大的粉笔扔了过来,我不是告诉你了吗?变量,一个严厉的王建军老师,用尽了全身力气,汇集在粉笔上对我无情的扔了过来,我想哭。。。。。。。老师打人了!!!!!!!!打家来看啊。
用变量好的,那就用变量,我们获取地址,代码如下:
$url = "http://book.sina.com.cn/nzt/lit/zhuxian2/index.shtml";// 图书地址
有了上边讲的,现在应该可以完全写出来了,开始代码:


//****************************************************************


$url = "http://book.sina.com.cn/nzt/lit/zhuxian2/index.shtml";// 图书地址


$ver = "old"; //新旧版本


//因为图书他的页面又两种板式,所以我们要在这里区别一下

//****************************************************************


// 获取页面代码 file_get_contents() 把文件读入一个字符串,下边的时候需要用到


$r = file_get_contents($url);


//在上边获取的字符串中搜索标题,并赋值给变量$booktitle,$booktitle是数组,/is就凑活理解成开始吧!


preg_match("//is",$r,$booktitle);


//把第一个出现捕获的标题赋值给变量bookname。


$bookname = $booktitle[1]; //书名


//print_r ($booktitle);die();不理解的输出这个看看,嘿嘿,帮助大家理解


/*************************************************************************************


*原形:

  • 第四十五章  伤痛(1)


    *规律是:

  • 不固定


    *ISU是正则的一种模式,该模式是非贪婪模式,也就是说只要匹配上就结束


    *************************************************************************************/


    $preg = '/

  • /isU';


    /********************************************************************************


    *preg_match_all进行全局正则表达式匹配


    *原形:


    *
    int preg_match_all


    *


    ( string pattern, string subject, array matches [, int flags] )


    *意思是:在全局搜索资源变量$preg,得到一个数组赋值给一个变量$zj,这个变量也就是数组了。


    *取得其中的资源的时候用标示就可以,不会的看下数组哦!


    *汪老师说了,不会数组的给我出去啃书,什么时候会了进来


    **********************************************************************************/


    preg_match_all($preg, $r, $zj);


    //print_r ($zj);die();不理解的输出这个看看,嘿嘿,帮助大家理解


    // 计算标题数量,我是问了最后提示大家看又多少章节,采集了多少


    $bookzj = count($zj[1]);


    //判断你要采集的板式是那种哦,因为内容开始不一样哦,其实可以自动判断的,我也写成了,但是不发布,因为很简单


    if ($ver=="new"){

     

    立即学习PHP免费学习笔记(深入)”;

    Imagine Me
    Imagine Me

    利用AI技术创建自己的个人模型

    下载

    $content_start = "";

     

    立即学习PHP免费学习笔记(深入)”;

    $content_end = "";

     

    立即学习PHP免费学习笔记(深入)”;

    }


    if ($ver=="old"){

     

    立即学习PHP免费学习笔记(深入)”;

    $content_start = "";

     

    立即学习PHP免费学习笔记(深入)”;

    $content_end = "
    ";

     

    立即学习PHP免费学习笔记(深入)”;

    }


    //采集后的文件,然后那来进行处理.这个是设置编码的,为什么是这个呢,因为你看下网站源码,嘿嘿!!!

    header("Content-Type:text/html;charset=gb2312");

    /*****************************************************************************************

    *从1到136页的内容一次合并.这个是最爽的...打个版权,以免有人侵权,嘿嘿,好像我就在侵权哦!!!

    *某某一定想杀人,这句意思就是写个版权,创建文件。

    *****************************************************************************************/

    writer($bookname." 共".$bookzj."节rn帅哥刘并于".date("D M j G:i:s T Y")."为了毕业而设计小说整理收集rn", "./ljy/".$bookname.".txt","w+");

    /*****************************************************************************************

    *从1到136页的内容一次合并.这个是最爽的...打个版权,以免有人侵权,嘿嘿,好像我就在侵权哦!!!

    *某某一定想杀人,这句意思就是写个版权,创建文件。

    *****************************************************************************************/

    for ($i=0;$i


    //echo "http://book.sina.com.cn".$zj[1][$i]".shtml";die();


    $str = file_get_contents("http://book.sina.com.cn".$zj[1][$i].".shtml");


    preg_match("/(

    )(.*?)()/is",$str,$title);


    $title = str_replace("_读书频道_新浪网","",preg_replace("//s","",$title[2]));


    /***************************************************************************


    *preg_replace执行正则表达式的搜索和替换


    *str_replace用法真的不好说,就看例子吧!其实就是一个替换


    * str   =   "abcabc".replace(/a/g,   "d");         //结果为   dbcdbc  


    * str   =   "abcabc".replace(/a/,   "d");         //结果为   dbcabc  


    ***************************************************************************/


    preg_match("/(".$content_start.")(.*?)(".$content_end.")/is",$str,$content);


    $content = preg_replace("//s","",str_replace("

    ","rn",$content[2]));


    $content = str_replace("
    ","",preg_replace("/^[s]*n/is","",$content));


    $content = str_replace("  ? ","  ",preg_replace("/^[s]*n/is","",$content));

     

    立即学习PHP免费学习笔记(深入)”;

    $result = " rn第".($i+1)."节--------".$title."_汪老师就是帅 --------- rn".$content;


    //var_dump ($result);die();


    writer($result, "./ailaopo/".$bookname.".txt","a+");


    echo "小说".$bookname."共".$bookzj."节,现在整理到第".$i."节 _".$title."
    ";

    }
    echo "小说".$bookname."共".$bookzj."节 已全部整理完成!";


    function writer($content,$url,$mode)
    {
        $fp = fopen($url, $mode);
        fwrite($fp, $content);
        fclose($fp);        
    }
    ?> 

     

    立即学习PHP免费学习笔记(深入)”;

  • PHP速学教程(入门到精通)
    PHP速学教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    AO3官网入口与中文阅读设置 AO3网页版使用与访问
    AO3官网入口与中文阅读设置 AO3网页版使用与访问

    本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

    3

    2026.02.02

    主流快递单号查询入口 实时物流进度一站式追踪专题
    主流快递单号查询入口 实时物流进度一站式追踪专题

    本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

    0

    2026.02.02

    Golang WebAssembly(WASM)开发入门
    Golang WebAssembly(WASM)开发入门

    本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

    1

    2026.02.02

    PHP Swoole 高性能服务开发
    PHP Swoole 高性能服务开发

    本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

    1

    2026.02.02

    Java JNI 与本地代码交互实战
    Java JNI 与本地代码交互实战

    本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

    1

    2026.02.02

    go语言 注释编码
    go语言 注释编码

    本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

    61

    2026.01.31

    go语言 math包
    go语言 math包

    本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

    52

    2026.01.31

    go语言输入函数
    go语言输入函数

    本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

    25

    2026.01.31

    golang 循环遍历
    golang 循环遍历

    本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

    10

    2026.01.31

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Excel 教程
    Excel 教程

    共162课时 | 15万人学习

    Pandas 教程
    Pandas 教程

    共15课时 | 1万人学习

    C# 教程
    C# 教程

    共94课时 | 8.2万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号