采集关键的几个步骤
一:先建好栏目
二:增加采集节点(需要选择栏目)
三:录入节点名称
四:如果有很多页,只需录入采集页面地址方式二中的内容
地址为
http://www.sznest.net/news.asp?big_class_id=3&page=[page]
页码从1到多少页之间、间隔倍数为1(这个多少页即被采集的网站的实际页数,注意这里修改后,在采集页面地址中会自动生成页面的地址列表)
五:入库栏目可以重新选择
六:信息链接区域正则:如:
<TD width="23%" align="center">日期</TD></TR>[!--smallurl--]<TR class="btrtitle">
七:信息页链接正则:如<a class="news_dian" href="[!--newsurl--]">
八:内容页标题正则:<H2>[!--title--]</H2>
九:新闻正文正则:如</H2>[!--newstext--]<CENTER><STRONG>
常用采集方法:
1:列表页标题图片采集方法:如果列表页的标题图片的Src地址为相对路径,那么,需要在列表页的标题图片正则的右侧的“图片地址前缀”的文本框中加入域名地址,同时勾选上保存本地,如果标题图片在内容页,这里需要留空,同时在内容页-下面的标题图片正则的那里写上正则
2:内容页图片的采集方法:选项请勾选远程保存图片到本地(内容),只有选上之后采集内容页的图片入库的时候才会保存,同时这里不用设置过滤选项,如果内容页的图片地址为图片地址为相对地址时需要加上图片地址的前缀比如http://www.sznest.net,如果这个相对地址中还带有../../的话,那么还需要在过滤选项中使用“替换:(针对标题与内容)”功能将"../../"替换为"/"
3:图片集采集方法:
注意图片采集之前不要删除或者修改默认的图片系统模型中的字段,否则要入库的这个栏目即使绑定的图片系统模型,很有可能增加节点的时候找不到填写图片集正则的地方
如果只要采集图片集的缩略图,正则示例如下:
<p><IMG src=\'[!--ecmsspicurl--]\'></p>
如果只要采集图片集的大图,正则示例如下:
<li><IMG src=\'[!--ecmsbpicurl--]\'></li>
如果只要采集图片的名称,正则示例如下:
<span>[!--ecmspicname--]</span>
如果同时要采集多个的话,需要用用“[!empirecms!]”格开,那么结合上面的示例,正确的正则应该是
<p><IMG src=\'[!--ecmsspicurl--]\'></p>[!empirecms!]<li><IMG src=\'[!--ecmsbpicurl--]\'></li>[!empirecms!]<span>[!--ecmspicname--]</span>
提示一下:图片集的采集的正则表达式是存在old_ecms_infoclass_photo这个表的zz_morepic这个字段中
4:整体页面过滤使用到的情况
比如,在列表页中如果一个产品,但是标题和图片都有链接的时候(也就是存在两个相同链接),但是只想采集一个链接的情况下,可在“附加选项”中的“整体页面过滤正则”文本框中添对其中的一个链接的正则,比如去除图片的链接正则<a href="*"><img src="*"/></a>
5:过滤内容页的图片方法,过滤广告正则,比如下面的
<img[!--ad--]>,<IMG[!--ad--]>
如果图片外面被p标签包含的话,正则如下
<p><img[!--ad--]></p>,<p><IMG[!--ad--]></p>
注意事项:
一:如果列表页的信息链接地址为相对跳径,需要加上地址前缀,比如http://www.sznest.net/,如果信息页的地址前面还有../../这样的,那么可以直接写成<a href="../../[!--newsurl--]"
二:如果采集页面地址带有中文的话,建议在火狐中复制,将其中文进入转换,比如
Product.asp?BigClassName=婚庆布置&Smallclassname=白色
转换之后就变成了
Product.asp?BigClassName=%BB%E9%C7%EC%B2%BC%D6%C3&Smallclassname=%B0%D7%C9%AB
三:如果采集规则正确的话,在管理节点的列表中点击预览会出现采集页面列表,左边的URL是采集的列表页面的URL,如果采集的有分页的话,那么这里会有多项,右边的VIEW预览链接会链接到本列表页所对应的采集内容页列表,此列表页会列表当前列表页对应的每个信息的链接地址,即URL
四:如果采集规则正确的话,但是点预览的时候仍然显示一片空白的话,那么请清空备份的采集数据或者修改匹配正则表达式或者可以尝试精简采集正则,比如
<img src="[!--titlepic--]" width="165" height="103" border="0" / ></a></td>
精简之后
<img src="[!--titlepic--]" width="165"
五:所有的采集正则表达式正则必须有结尾,不能直接以标签结尾,比如下面的信息链接区域正则:
<td height="449" valign="top">[!--smallurl--]
上面的是错误的,正确的可以是下面的
<td height="449" valign="top">[!--smallurl--]<td width="20"> </td>
六:采集常见问题解决办法:
1:采集内容页列表预览的时候同样的URL出现了两次,而PIC循环到后面的一半的时候却匹配不到了
解决办法:因为信息页链接正则的匹配可能是贪婪匹配,所以导致了匹配了两次,所以解决的办法就是增加正则的字符,避免被贪婪匹配
2:如果预览的列表都正常,但是正式采集的时候仍然采集不到的时候的时候,其原因是内容页的正则匹配不到内容页的内容,这个在采集内容页列表在点击右边的某个预览的时候你就会发现仍然匹配不到内容的
3:如果采集规则都正常,并且采集页面列表也能正常显示采集的URL,但是采集内容页列表却仍然显示一片空白,而且清空备分的采集数据之后,仍然是空白的话,可以点击审核采集,将之前审核采集来的信息全部删除,再次预览就正常了,这里不明白,为什么清空备分的采集数据之后,点击审核采集里面仍然有采集数据
还有要注意,如果采集的正则需要更多的HTML代码加以区别的话,而且HTML代码之间有空格或换行的话,这个空间或换行最好不删除,也让空格或换行作为过滤的一个条件
帝国CMS-采集关键的经验总结
所属栏目:建站技术 更新时间:2020-10-30 点击: 次 文章来源:/jzjs/3538.html
【上一篇】:手机访问电脑网时自动跳转代码
【下一篇】:asp用正则批量替换过滤表中所有行的内容中的图片
相关阅读
-
中英文混和的字符串的ASCII与UNICODE编码与解码
//1:获取中英文混合字符的编码(ASCII码与UNICODE码)$str="官网制作:网巢网络";foreach(math($str)as$key=>$value){if(preg_match('/^[x{4e00}-x{9fa5}]+$/u',$value)){//中文,注意中文这里暂时不转换,因为无法通过chr…
了解详情 >>
-
正则表达式收集汇总
搜索:empty(($)tr['([a-z]{1,})']),可以查找这样的empty($tr['digest']),然后可以替换成!$digest替换:!$1$2匹配A标签的超连接的正则表式如下$pattern="/<a[^>]+?href=["']?([^"']+)…
了解详情 >>
-
如何让你的PHP网站变得更安全
安全配置一(1)打开php的安全模式php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,但是默认的php.ini是没有打开安全模式的,我们把它打开:safe_mode=on(2)用户组安全当safe_mode打开时,sa…
了解详情 >>
-
小程序的下单与支付的业务流程
1:小程序携带商品信息调用第三方服务器的下单API2:第三方服务器下单API对小程序带来的商品作库存量检测3:如果检测通过,第三方服务器就会保存这个订单并且告之小程序下单成功4:小程序调用第三方服务器的支付api5:第三方服务器API调用微信的预订单API[WxPayApi::unifiedOrder](注意第三方服务器是无法完成支付的,这个订单实际是在微信…
了解详情 >>
-
小程序列表多个批量倒计时
Page({onShow(){letthat=this;vardates={datetime:[{dat:0,name:'zs'},{dat:6,name:'ls'},{dat:10,name:'ww'}]}//console.log(dates)//数据letlen=dates.datetime.length…
了解详情 >>
-
如何解决QQ显示未启用的问题
没设置临时会话,一般都会出现下面的状况。QQ放在网站上作为客服,必须设置临时会话。或者点击之后,要求加为好友才可以对话。解决这个问题的步骤如下:一、登陆腾讯官方网站:http://wp.qq.com/二、登陆之后,点“设置”,按下图所示,全部打勾。这个必须设置,不设置,不能临时会话,就会显示“未启用”。这一步是关键,必须设置。(1)先看服务有没被停用:如停用…
了解详情 >>
