采集教程及采集分页设置问题

其实采集可以这么理解,定义头和尾,除了在截取链接不需要检测,在其它地方你定义的头和尾,在同一个html表里不能有相同的,为什么不能有相同的呢?是因为采集的每一步(除了截取链接外)都是根据你所定义的头和尾来截取页面内容的。所以你在定义头和尾不仅不能有相同的,还要尽可能地把不需要的内容排除开。如果你理解了这个定义头和尾,基本上对于简单的页面是能采集的。下面我以一个实例来说明一下:

以下内容为程序代码:

新闻列表网址:http://ent.qq.com/newxw/thd_sjym.htmhttp://ent.qq.com/newxw/thd_sjym.htmhttp://ent.qq.com/newxw/thd_sjym.htm
列表开始代码: <td style="padding-left:6px;"><table  border="0" cellpadding="0" cellspacing="0" class="table_logo">
列表结束代码:    <td height="5" colspan="2"></td>
链接开始代码:·<a target="_blank" href="
链接结束代码:">
标题开始标记:<title>
标题结束标记:</title>
正文开始标记:<div id="ArticleCnt">
正文结束标记:<div id="ArticleTopic"></div>

上面所采集的页面是比较标准的。现在来分析一下:

列表网址:就是你要采集的页面,这一步很关键,以前这一步我是乱搞,现在发现这一步关系到你能否采集完所有内容。一般你进入采集页面先判断一下是不是有多页,如果有多页你进入第二页和第一页是不是有规律变化,比如是:xxxx_1.htm,xxx_2.htm,特别注意数字,如果第一页开始就有_id的规律,那就把第一页作为列表网址,如果第一页与第二页没相关规律,而是从第二页开始才能这样的规律,那将第二页作为列表网址,第一页放到一边,等所有数据采集完了,再来采集单独页面,反正以后也只采集第一页,为啥?因为一般更新的都在第一页。

列表开始与结束:这里就是向采集程序说明你要采集的内容大概方向,比如上例里的列表网址,里面有好多内容,我只采集右边的新闻,这时你可以搜索第一条新闻,向上看,找段在这个HTML文件里唯一的内容,这里定义头和尾要值得注意的是:空格也算的。比如<a href前有四个空格,这也算个特征,反正不管怎么样,只要是全文仅有的就行。同样方法,只是这次搜索最后一条新闻,定位一下,省得全文乱找,浪费时间,往下推找个全文仅有的代码,

链接开始与结束,这里你得看一下采集页面了,然后再看HTML文件,一般是<a href=   开始,>结束。中间的内容就让采集程序帮你去放
到这里已经接近成功了,这时为了保险一点,随机点五个页面,找五个页面的共同点,把标题开始与结束,正文开始与结束填一下,
最后测试一下。应该可以了吧。

下面谈谈分页,分页有二种,一种是采集页的分页,另一种是文章内容的分页。

采集页的分页:

例:

以下内容为程序代码:

新闻列表网址:http://www.pconline.com.cn/mobile/news/hgxz/index_1.htmlhttp://www.pconline.com.cn/mobile/news/hgxz/index_1.html
列表开始代码:1px solid; ">文章列表 </TD>
列表结束代码: <DIV ALIGN="CENTER">
列表索引分页: 批量生成:http://www.pconline.com.cn/mobile/news/hgxz/index_{$ID}.htmlhttp://www.pconline.com.cn/mobile/news/hgxz/index_{$ID}.html
生成范围:4to1
链接开始代码:<a href="
链接结束代码:target="_blank"
标题开始标记:<title>
标题结束标记:-太平洋电脑网Pconline-[手机新品速递]</title>
正文开始标记:广告:ad_top</IFRAME>
正文结束标记:<br clear=all>

请注意列表网址与列表索引分页链接的不同之处:就是将index_1.html改为了index_{$ID}.html,
生成范围:这里有多少页就?to?,有二种选择,由后到前,前到后,随便你喜好。

内容页的分页:

例:

以下内容为程序代码:

新闻列表网址:http://www.enet.com.cn/emobile/inforcenter/articlelist.jsp?page=1&atype=A&acid=4146http://www.enet.com.cn/emobile/inforcenter/articlelist.jsp?page=1&atype=A&acid=4146
列表开始代码:<td class="filter4" width="350"><font color="#FFFFFF">手机资讯
列表结束代码:  <td height="2"></td>
批量生成: http://www.enet.com.cn/emobile/inforcenter/articlelist.jsp?page={$ID}&atype=A&acid=4146http://www.enet.com.cn/emobile/inforcenter/articlelist.jsp?page={$ID}&atype=A&acid=4146
生成范围:10to1(这样的好处最新新闻在前面,不然刚好跟采集页面相反,最后一页为最新新闻)
链接开始代码:<td><a href="
链接结束代码:target="_blank"
标题开始标记:<strong class="p24">
标题结束标记:   <td align="center">(这里要把前面的空格一起复制了,不然会出现错误)
正文开始标记:<table width="100%" border="0" cellspacing="0" cellpadding="2" align="center">
正文结束标记:<p id="adv_under_cont"></p>
下页开始标记:           <a href="./(找到下一页,把<a href="./的空格也复制了)
下页结束标记:">下一页</a>

请注意下页开始与结束:找到分页代码,找到下一页的代码:定义好下一页开始与结束就OK。这里多试几次,因为这里代码可选择范围小。

(0)

相关推荐

  • 采集教程及采集分页设置问题

    其实采集可以这么理解,定义头和尾,除了在截取链接不需要检测,在其它地方你定义的头和尾,在同一个html表里不能有相同的,为什么不能有相同的呢?是因为采集的每一步(除了截取链接外)都是根据你所定义的头和尾来截取页面内容的.所以你在定义头和尾不仅不能有相同的,还要尽可能地把不需要的内容排除开.如果你理解了这个定义头和尾,基本上对于简单的页面是能采集的.下面我以一个实例来说明一下: 以下内容为程序代码: 新闻列表网址:http://ent.qq.com/newxw/thd_sjym.htmhttp:/

  • MySQL优化教程之超大分页查询

    背景 基本上只要是做后台开发,都会接触到分页这个需求或者功能吧.基本上大家都是会用MySQL的LIMIT来处理,而且我现在负责的项目也是这样写的.但是一旦数据量起来了,其实LIMIT的效率会极其的低,这一篇文章就来讲一下LIMIT子句优化的. LIMIT优化 很多业务场景都需要用到分页这个功能,基本上都是用LIMIT来实现. 建表并且插入200万条数据: # 新建一张t5表 CREATE TABLE `t5` ( `id` int NOT NULL AUTO_INCREMENT, `name`

  • MyBatis limit分页设置的实现

    错误的写法: <select id="queryMyApplicationRecord" parameterType="MyApplicationRequest" resultMap="myApplicationMap"> SELECT a.*, FROM tb_user a WHERE 1=1 <if test="ids != null and ids.size()!=0"> AND a.id IN

  • 基于PHP的cURL快速入门教程 (小偷采集程序)

    最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它. 为什么要用 cURL? 是的,我们可以通过其他办法获取网页内容.大多数时候,我因为想偷懒,都直接用简单的PHP函数: $content = file_get_contents("http://www.jb51.net");// or$lines = file("http://www.jb51.net");// orreadfile(http://www.jb51.

  • ThinkPHP快速入门实例教程之数据分页

    数据分页可能是web编程里最常用到的功能之一.ThinkPHP实现分页功能十分简洁.只需要定义几个参数就可以实现.并且扩展也十分方便. 下面让我们从零开始实现ThinkPHP的分页程序吧. 1.首先,我们得创建一个用于分页测试的数据库 test.sql代码如下. CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(100) NOT NULL, `content` varchar(300)

  • 关关小说采集器[杰奇]采集出错的修正方法

    最近突然喜欢上了小说站,呵呵,用关关小说采集器采集了一下,感觉不错! 但是在 采集 内容是图片 的小说时,出现错误,如下提示: #HY000Incorrect integer value: ' null ' for column ' attachid ' at row 1 的错误! 经过寻找发现修改办法是如下图:修改即可

  • win2008 R2 WEB环境配置之Mssql Server 2008 R2 安装图文教程及远程连接设置方法

    Microsoft® SQL Server™ 是用于电子商务.业务线和数据仓库解决方案的数据库管理和分析系统.是微软旗下的商业数据库软件.目前最新的版本已经发展到SQL Server 2014了,微软更是推出了Windows Azure SQL云数据库. 本篇的教程的目的就是带领大家安装一下Sql server 2008 R2,对每一步作一个大概的说明,说得不好的地方,请大家指出来,大家共同进步. 这台服务器是天翼云的1元主机,买来就是给大家做教程用的.如果大家觉得好,请多多关注本博客. 安装步

  • jquery1.4 教程一 便利的设置函数

    便利的设置函数 jquery1.4的大部分设置值对方法都可以设置第二个参数为回调函数.比如:.css(), .attr(), .val(), .html(), .text(). 这说法很抽象,来看示例 http://demo.jb51.net/js/jquery1.4/jquery_1.htm 便利的设置函数 $(function(){ $("#btn1").click(function(){ $('#a1').html(function(i,html){ return html.re

  • DOM基础教程之使用DOM设置文本框

    1.控制用户输入的字符个数 对于单行文本框和密码输入框,可以利用maxlength属性控制用户输入的字符个数. 对于多行文本,maxlength为自定义属性,其值最多输入的字符的个数,在onkeypress事件发生时则调运返回LessThan()函数返回值,函数如下 <textarea name="comments" id="comments" cols="40" rows="4" maxlength="50&

  • 学习制作MVC4分页控件(上)

    浏览栏目下内容的时候肯定要用到分页,MVC4下没有带分页控件,那么就自己写一个HtmlHelper-Pager.写之前看了一些大神的分页控件,启发很大.先设想一下自己的分页控件 分页控件分普通分页(Pager)和Ajax分页(PagerAjax)两块.两块的显示相同,如图: 各部说明: 在开始写之前还要先有两个类:一个是分页设置类,一个是分页数据类. 分页的设置类包含了常用的分页参数,是为了方便保存到数据库中,可以直接在栏目中设置该栏目下每页显示的记录数:记录的计量单位:是"条"还是&

随机推荐