采集教程及采集分页设置问题_应用技巧

其实采集可以这么理解,定义头和尾,除了在截取链接不需要检测,在其它地方你定义的头和尾,在同一个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。这里多试几次,因为这里代码可选择范围小。 

时间: 2024-08-04 06:31:35

采集教程及采集分页设置问题_应用技巧的相关文章

GetPaing 函数之asp采集函数中用到的获取分页的代码_应用技巧

'================================================== '函数名:GetPaing '作  用:获取分页 '================================================== Function GetPaing(Byval ConStr,StartStr,OverStr,IncluL,IncluR) If ConStr="$False$" or ConStr="" Or StartSt

彻底掌握ASP分页技术杂谈_应用技巧

近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧! 首先,来看看演示 !看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页&qu

ASP.NET笔记之 行命令处理与分页详解_实用技巧

1.行命令处理 (1. 后台代码:操作行 //如果是来自html响应中的该函数操作if(e.CommandName=="addAge"){ //取得行号int index=((ListViewDataItem)e.Item)DispalyIndex;//取得当前操作行的主键值//DataKeys存的是所有ID,取的是第index个IDGuid id=(Guid)ListView1.DataKeys[index].Value;表Adapter adapter=new 表Adapter()

关于asp.net 自定义分页控件_实用技巧

这几天空学习了下自定义控件,参考了aspnetpager开发了自己的分页控件.相对aspnetpager来说功能是多,但个人感觉他的代码太多. 界面: 使用: <%@ Register assembly="YSM.AspNetPager" namespace="YSM.AspNetPager" tagprefix="cc1" %> 页面注册控件,也可以在web.config中配置 1.ajax之UpdatePanel分页则把控件放到U

Git 教程之安装配置详解_相关技巧

Git 安装配置 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git-scm.com/downloads Linux 平台上安装 Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具. 在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系

ASP.Net分页的分页导航实例_实用技巧

Asp.Net分页可以设置分页的首页.上一页.下一页.尾页在前台显示的链接文本.这里只是提及简单功能,深入研究剖析其原理就更得心应手了. //containerId 导航的目标容器,建议使用span标签 //url 默认为XXX.XX?pagenum= //curPage 当前的页码 //maxSection 最大的分段数(一段里面最大的页数) //totalPage 总共的页数 function Navigate(containerId,url,curPage,maxSection, tota

ASP.NET无刷新分页简单实现_实用技巧

下面就是和大家分享的实现无刷新分页功能的全部步骤,欢迎学习. 1.新建一个分页存储过程: CREATE procedure [dbo].[P_Pager] (@PageNumber int, @PageSize int) as declare @sql nvarchar(4000) set @sql = 'select top ' + Convert(varchar, @PageSize) + ' * from T_Test where [type]=1 and id not in (selec

asp.net分页功能实现_实用技巧

说一下实现分页的思路 这里的分页用到了一个组件 AspNetPage.dll,这个组件大家可以到网上去下载,我这里就不提供了 添加最近到工具箱中这样我们就可以像其他控件一样拖拽使用了 如图DataPage是在工具箱中的,至于怎么添加你们百度吧 拖拽到页面中如图 这个是我加完样式后显示的效果,怎么样是不是你们想要的了,如果不是你们还可以修改样式样式稍候奉上 先来看看要怎么使用 <webdiyer:AspNetPager ID="AspNetPager1" runat="s

asp.net下Repeater使用 AspNetPager分页控件_实用技巧

一.AspNetPager分页控件 分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差.无法通过Url实现分页功能等,而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大.任务繁琐而且代码重用率极低,因此分页已成为许多ASP.NET程序员最头疼的问题之一. AspNet