主题 : 采集管理不能成功采集的解决*法
级别: 白丁
UID: 21236
积分:31 加为好友
威望: 0 精华: 0
主题:2 回复:6
注册时间:2011-06-29
在线时长:0
1#   发表于:2011-08-12 15:04:06  IP:124.193.*.*
首先要保证自己所设置的采集信息是正确的。但是在保证所有信息都正确的情况下也存在一种不能成功采集的情况,下面我们来讨论一下

1、采集地址:设置的是要采集信息列表页的地址;
2、动态地址:是指列表有分页的情况,要设置一个可传页码参数的url
3、页码从   到  ,第一个数字,即这里要写的开始页码,通常情况下应该写2,因为,第一页默认可以没有页码,也就是说,第一页为采集地址是我们每1点设置的地址;第二个数字,如果都采集的话为最大页数,也可以根据自己的需求设置为小于最大页数的数字。
4、采集地址集:是指页面的列表块。这里的设置是为了得到当前页面包含所有信息链接地址在内的代码块,去掉前面与后面无用的页面代码
5、内容地址:是列表中每一个的链接地址
6、标题:当然是列表中每一个信息的标题啰
7、内容:是列表中每一个信息的正文啰

以上采集设置,适合所有信息使用同一页面做展示的信息的采集

下面我们要说正题了:哪种情况不能成功采集
====================================================
1、每一个信息的采集地址的组成:base + link,base = http://www.***.com,即http:// 加上域名
2、这里要仔细看啰  link 如果是以 /  开头的链接,或者是以 http 开头的链接,那么采集是没有问题的;如果是 ***.html ,这样的链接,那么采集是不成功的。因为这样的链接拼上 base ,我们以百度的域名 + a.html 为例是:http://www.baidu.coma.html,少了什么??域名与link之间少了 / 。
3、解决办法:
   以3.1.1版本代码为例,修改 com.jeecms.cms.service.AcquisitionSvcImpl ,将 134 行 link = base + link; 修改为:
if (link.startsWith("/")) {
link = base + link;
} else {
link = base + "/" + link;
}

这样,不管链接的前面有没有 / ,真实的 url 都会是正确的
本帖最近评分记录:
  • yin2035    2011-08-12   人气    +5    精品文章
  • 级别: 总版主
    UID: 10736
    积分:148478 加为好友
    威望: 205 精华: 42
    主题:287 回复:126198
    注册时间:2010-09-08
    在线时长:17.05
    2#   发表于:2011-08-12 15:13:47  IP:59.114.*.*
    好贴
    路漫漫其修远兮,吾将上下而求索!
    1 共1页