php如何采集,php采集入门教程,教你如何写采集
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"){
$content_start = "";
$content_end = "";
}
if ($ver=="old"){
$content_start = "";
$content_end = "
";
}
//采集后的文件,然后那来进行处理.这个是设置编码的,为什么是这个呢,因为你看下网站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));
$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采集入门教程,教你如何写采集相关推荐
- 15. GD32F103C8T6入门教程-adc单通道轮训采集
1.adc gpio初始化 /*使能各种时钟和adc时钟分频输入*/ void rcu_config(void) {/*使能GPIO时钟 */rcu_periph_clock_enable(RCU_G ...
- 5个教程教你学会写爬虫!(Python)
写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个爬虫脚本是很简单的,但是对于新手来说却并不是那么容易. ...
- 给新手看的 Micronaut 入门教程,10 分钟写出一个 Micronaut 程序
以下内容均选自 Micronaut 入门实战:基于 JVM 的微服务框架 . Micronaut是什么? Micronaut 是一个现代化的基于 JVM 的全栈框架,用于构建模块化且易于测试的微服务或 ...
- Python爬虫入门教程 94-100 帮粉丝写Python爬虫之【微信读书书籍信息爬取】
X同学发私信说想要微信读书上的书籍清单做测试用,吓我一跳,原以为是要爬取APP呢,刚换了新笔记本难道要配置新的开发环境,结果是爬取一个PC端的网站,虚惊一场. 爬虫百例教程导航链接 : https:/ ...
- Python爬虫入门教程 93-100 帮粉丝写Python爬虫之【获取CSDN周榜所有大佬的收费专栏】
一大早又接到一个爬虫需求,他的需求描述很简单,想要获取CSDN周榜所有大佬的收费专栏.多么简洁的描述啊! 这个需求拿到之后,你不订阅一下橡皮擦的爬虫百例专栏吗? https://blog.csdn.n ...
- Python爬虫入门教程 98-100 帮粉丝写 Python 爬虫之【2020秋季最难的事--约不上的疫苗】
帮粉丝写爬虫系列的最后一篇博客了,剩下的两篇是爬虫百例课程的一个总结,本系列课程的加更篇后续会逐步编写,同时滚雪球学 Python 系列课程已经在构思中,希望得到大家的继续支持.这篇博客取名叫做202 ...
- Python爬虫入门教程 95-100 帮粉丝写Python爬虫之【全网通用评论爬虫】
今天这篇文章最终结果就是我制作了一款自动评论器,但整体的设计思路其实扩展到全网所有涉及评论的地方. 如果你订阅了本专栏,直接私信我,我发给你完整代码.如果没有订阅,还想要一下源码研究,那么添加我VX( ...
- Python爬虫入门教程 91-100 帮粉丝写Python爬虫之【河北单招学校信息爬虫】
帮粉丝写爬虫第一篇,接到一个简单的任务,让我爬取一下河北单招学校相关的信息,那最后这10篇博客,第一篇就从这里开始吧.(其实写到现在,我甚至想继续写下去了,没准能凑个爬虫108篇~哈哈哈) 当我把源码 ...
- 不用代码免费采集网站内容_看一遍就能上手的火车头采集图文全流程教程
火车采集器(LocoySpider) 是一个供各大主流文章系统,论坛系统等使用的多线程内容采集,支持采集其他网站文章.下载下本地,统一上传到指定文件夹. 火车头采集规则是什么,怎么样设置火车头采集规则 ...
- 【Hadoop生态圈】1.Hadoop入门教程及集群环境搭建
文章目录 1.简介 2.环境准备 3.安装hadoop 3.修改Hadoop配置文件 3.1.hadoop-env.sh配置 3.2.core-site.xml配置 3.3.hdfs-site.xml ...
最新文章
- Android中常用的编码和解码(加密和解密)的问题
- android列表时间轴,Android实现列表时间轴
- 为什么要加上拉电阻和下拉电阻
- 拯救者Y7000P 2020H款安装deepin20.5后资源空闲时经常出现风扇狂转现象
- 使用什么优化器_在机器学习项目中该如何选择优化器?
- 阿里资深技术工程师: 程序员怎样快速成长?
- java 内存快照怎么看_jvm内存快照dump文件太大,怎么分析
- python 导入数据对不齐_[Python] 大文件数据读取分析
- application context not configured for this file于spring框架使用中的原因
- 身份证识别 python + OCR
- Mac 下Axure RP9下载与安装
- winrm java客户端_java通过winrm4j远程连接win执行命令
- java tls_Java客户端中具有SNI的TLS
- 大三下了,一点感概,仅作共勉
- 2203-python基础知识
- 【转载】Oracle 查看执行计划
- Android实现弹出窗口(PopUpWindow)
- 【GDOI2017模拟11.7】太阳神
- 系统学习做汉堡_您如何学习策略设计模式? 做一个汉堡!
- antd的Table列选择、列拓展