CMSware采集问答及技巧
来自站长百科
导航:返回上一页
- 问题:能否倒序采集呀? 比如采集的页面没有可采集文章发布日期,但文章按照发布时间倒序分页排列,最新的排在第一页最前,最老的排在最后一页最后。 思维(CMSware)能否通过采集,使得发布时也是按照这个顺序排列?一般采集都是最新的最先采集,没有原始日期的话,变成最老文章,列到最后去了。
- 答:时间没办法采集,但有采集时间戳的,可以用时间戳放进一个字段,来决定采集后的顺序 。 自己设置一个采集时间字段,然后调用时按这个字段排序。也就是在内容模型里增加一个采集时间的字段cTimer,采集规则写{Timer},然后在模版中调用时使用这个采集时间字段cTimer排序
- 问题:采集时报错如下
Exception message: preg_match(): Compilation failed: missing terminating ] for character class at offset 90 Error code: 2 -- Backtrace -- (): error.handler E:\web\cms\admin\modules\crawler.php(379): preg_match E:\web\cms\admin\modules\crawler.php(483): parse_html.private_executeparse E:\web\cms\admin\modules\crawler.php(599): parse_html.parse E:\web\cms\admin\modules\crawler.php(861): parse_html.runtask E:\web\cms\admin\admin_collection.php(103): include
- 答:采集正则表达式有误,请修正
- 问题: 自己写的采集过滤函数应该放在哪里
- 答:过虑函数可以在setting/crawler.ini.php里面添加、修改
- 问题: 关于采集的服务器支持, fopen() vs curl()。我曾经和服务器运营商联系过这个问题,他们说由于安全问题不能支持fopen,但是同样的,他们说有一个更强大的远程调用函数CURL可以解决相同的问题。是不是服务器不支持fopen就不能支持采集?
- 答:是的,现在思维(CMSware)是用fopen支持url访问的形式来实现采集,因为这个方法最普遍也兼容性最好,这是php内置功能,大多数服务商都支持.
而采用curl方式,那是php的一个扩展模块,很多服务商不一定安装和支持这个模块的,我们不采用.
- 问题:现在采集的内容,时间是不是只能是当天的?我想要以前的或者固定的时间段可以吗?
- 答:采集内容不受时间限制,而是受内容列表限制。列表里有什么,就可以采集什么。或者说,打开页面能看见什么,就可以采集什么
- 问题:有效的URL 的写法出错
<a href='http://news.soufun.com/2005-06-27/448473.htm' target='_blank'>
我写的是
/<a[s]*href=([^"><s]*[0-9]+.htm)/isU
是错误的, 请高手指点
- 答:缺少单引号,正确写法应该为
/<a[s]*href=\'([^"><s]*[0-9]+.htm)\'/isU
- 问题:采集时报错如下
Exception message: file(): URL file-access is disabled in the server configuration Error code: 2 -- Backtrace -- (): error.handler E:\usr\local\www\data\cms\admin\modules\crawler.php(492): file E:\usr\local\www\data\cms\admin\modules\crawler.php(536): parse_html.getremotefilecontent E:\usr\local\www\data\cms\admin\modules\crawler.php(892): parse_html.indexparse E:\usr\local\www\data\cms\admin\admin_collection.php(103): include
- 答:采集的目标服务器禁止采集
- 问题: 我已经采集的东西导入后被我删除了,我想再采就采不到了,怎么办
- 答:在“参数设置”--“采集设置”把‘是否重复采集”选择为“是”,或者把“自动隐藏已导入的采集记录”选择为“否” 然后再找到那些已经采过的记录,删掉
- 问题:采集图片多的网站有时会停止
- 答:很可能是php的内存分配不足,加大些估计就好了