php采集代码前几天做了个小说连载的程序,抓取别人网页内容php采集百度新闻标题
2022-04-10
收集器,通常称为小偷程序,主要用于抓取他人网页的内容。关于集热器的制作,其实并不难。就是远程打开要采集的网页,然后用正则表达式匹配需要的内容。只要你有一点基本的正则表达式,你就可以制作自己的收集器。.
前几天,做了一个小说连载程序。因为怕更新麻烦,顺便写了个收集器收集八通中文网。功能比较简单,不能自定义规则。你可以自己扩展。
使用php作为收集器主要使用()和()两个函数,前者是远程读取网页内容,但只能在php5以上版本使用网站模板,后者是常规函数,用于提取所需的内容。
下面逐步介绍功能实现。
因为是小说合集,所以必须先提取出书名、作者、体裁,其他信息可以根据需要提取。
这里是《回归明朝当太子》的目标,首先打开参考书目页面,链接:
再翻几本书,你会发现书名的基本格式是:ISBN/.aspx,所以我们可以做一个起始页,定义一个,用它来输入要收藏的书号。以后可以用$['']等格式接收需要收藏的书号。收到书号后,接下来就是构建书目页面:$url=$['']/.aspx,当然这里是个例子,主要是为了解释方便,最好查一下$['' ] 合法性。
构建好 URL 后,就可以开始收集图书信息了。使用()函数打开参考书目页面:$=($url),这样就可以读出参考书目页面的内容了。下一步是匹配标题、作者和流派等信息。这里以书名为例网站制作,其他都一样。打开参考书目页面,查看源文件,找到《回明为王》,这是要提取的书名。正则表达式提取书名:/(.*?)\/is,使用()函数提取书名:("/(.*?)\/is",$,$); 所以 $[0] [0] 的内容就是我们想要的标题(函数的用法可以百度查到,这里就不详细解释了)。取出图书信息后,下一步是取章节的内容。取章节内容,首先要找到每一章节的地址,然后远程打开章节,使用正则取出内容php采集代码,存入库或者直接生成html静态文件。这是章节列表的地址: 可以看到这个和参考书目页面一样,可以定期找到:分类号/书号/List.shtm。之前已经获得了书号。这里的关键是找到分类号。分类号可以在之前的参考书目页面上找到。提取分类号:存入库或直接生成html静态文件。这是章节列表的地址: 可以看到这个和参考书目页面一样,可以定期找到:分类号/书号/List.shtm。之前已经获得了书号。这里的关键是找到分类号。分类号可以在之前的参考书目页面上找到。提取分类号:存入库或直接生成html静态文件。这是章节列表的地址: 可以看到这个和参考书目页面一样php采集代码,可以定期找到:分类号/书号/List.shtm。之前已经获得了书号。这里的关键是找到分类号。分类号可以在之前的参考书目页面上找到。提取分类号:
("/Html\/Book\/[0-9]{1,}\/[0-9]{1,}\/List\.shtm/is",$,$); 这还不够,还需要一个 cut 函数:
[复制PHP代码] [-] PHP代码如下:
引用如下:
切($,$,$end){
$ = ($,$);
$ = ($end,$[1]); $[0];} 其中$是要剪切的内容,$是开头,$end是结尾。取出分类号:
$ = "HTML/书/";
$结束
= "列表.shtm";
$ = cut($[0][0],$,$end);
$ = ("/",$);[/php]
这样,$[0] 就是我们要找的分类号。下一步是构造章节列表的地址:$ = $[0]/$['']/List.shtm。有了这个,你可以找到每一章的地址。方法如下:
引用如下:
$ = "\"";
$uend
= "\"";
//t的缩写
$ = ">";
$倾向于
= "