内容采集器(小编为大家讲解有关语言编程其中不被重视的技巧)
优采云 发布时间: 2021-09-07 22:12内容采集器(小编为大家讲解有关语言编程其中不被重视的技巧)
今天小编就给大家文章讲解语言编程。在课堂上,教师将了解语言编程中不被重视的技能。相信对大家会有很大的帮助
php示例教程采集器,通常称为小偷程序,主要用于抓取他人网页的内容。关于采集器的制作,其实并不难。就是远程打开需要采集的网页,然后用正则表达式匹配需要的内容。只要你有一点正则表达式的基础,就可以让自己的采集器来了。
前几天做了一个小说连载程序,因为怕更新麻烦,写了个采集器,采集八路中文网,功能比较简单,不能自定义规则,不过大概思路都在里面,自定义规则可以自己扩展。
使用php做采集器主要使用两个函数:file_get_contents()和preg_match_all()。第一个是远程阅读网页内容,但只能在php5以上版本使用,后者是常规功能。 , 用于提取需要的内容。
让我们一步一步地谈谈函数的实现。
因为是采集小说,先提取标题、作者、流派。其他信息可根据需要提取。
这里是《回明朝太子》的目标,先打开书目页面,链接:
再打开几本书,你会发现书名的基本格式是:book number/Index.aspx,所以我们可以制作一个起始页,定义一个,用它输入需要的书号采集,然后我们可以通过 $_POST['number'] 这个格式来接收采集的书号。收到书号后,接下来要做的就是构造书目页面:$url=$_POST['number']/Index.aspx,当然这里是一个例子,主要是为了方便说明,就是最好以实际生产为准。 _POST['number'] 的合法性。
构建好URL后,即可开启采集书信息。使用file_get_contents()函数打开书目页面:$content=file_get_contents($url),这样就可以读取书目页面的内容了。下一步是匹配书名、作者和类型。这是一个带有书名的例子,其他一切都是一样的。打开书目页面,查看源文件,找到《回明为主》,这是要提取的书名。提取书名的正则表达式:/(.*?)\\\\/is,使用preg_match_all()函数提取书名:preg_match_all("/(.*?)\\\\/is" ,$contents,$title);这样$title[0][0]的内容就是我们想要的title(preg_match_all函数的用法可以百度查,这里就不详细解释了)。取出书籍信息后,下一步就是取出章节内容。取章节内容,首先要找到每个章节的地址,然后远程打开章节,使用正则规则取出内容,存入库或者直接生成html静态文件。这是章节列表的地址: 可以看出这个和参考书目页面是一样的,可以定期找到:分类号/书号/List.shtm。 ISBN已经拿到了。这里的关键是找到分类号。分类号可以在之前的参考书目页面上找到。提取分类号:
preg_match_all("/Html\\\\/Book\\\\/[0-9]{1,}\\\\/[0-9]{1,}\\\\/List\\ \\.shtm/is",$contents,$typeid);这还不够,我们还需要一个剪切功能:
[复制代码] [-] PHP代码如下:
以下为引用内容:
function cut($string,$start,$end){
$message = expand($start,$string);
$message=explode($end,$message[1]); return $message[0];} 其中 $string 是要剪切的内容,$start 是开头,$end 是结尾。检索分类号:
$start = "Html/Book/";
$end
="列表.shtm";
$typeid = cut($typeid[0][0],$start,$end);
$typeid = expand("/",$typeid);[/php]
嗯,我从事编程语言统计多年,数据来源很多,包括代码库、问答讨论、招聘广告、社交媒体情况、教程页面访问量、学习视频浏览量、开发者调查、等。不同时间发布的数据可以认为是准确的。
也可以被视为有缺陷,但它们可用于发现行业趋势。最后,不要指望一夜之间成为编码忍者。有些人有天生的能力,但他们也花大量时间磨练自己的技能,不断学习新的技术和技能。 "
XML 在过去三年中经历了多次迭代,因此目前存在不同版本的 Microsoft XML 解析器也就不足为奇了。 Internet Explorer 4.0 收录早期版本的 XML 解析器,它早于 XSL、XML 数据或大多数其他 XML 技术(并且具有完全不同的 DOM 模型)。这个早期版本的分析器收录在 MSXML.dll 库中。可以从 MSDN XML 开发人员中心(英文)将分析器升级到更新的分析器。
我们强烈建议您升级到新的分析器,因为它更强大。 Internet Explorer 5.0 包括 MSXML 2.0 解析器,其中收录 XSL 和 XML 架构的基本版本。 MSXML2 是 SQL Server 2000 附带的解析器版本。MSXML2 收录许多性能增强功能,并且整体性能和可伸缩性得到了改进。 MSXML3 是当前作为“技术预览”收录的版本。 MSXML3 包括 XSLT 和 XPath 支持以及 SAX 接口。
在php教程中,$typeid[0]就是我们要找的分类号。下一步是构造章节列表的地址:$chapterurl = $typeid[0]/$_POST[‘number’]/List.shtm。有了这个,你可以找到每章的地址。方法如下:
以下为引用内容:
$ustart = "\\\\"";
$uend
="\\\\"";
//t代表title的缩写
$tstart = ">";
$趋向
="