|
曾经用过 CMS 系统自带的采集模块,比如动易——但是那太“呆”了。
不光采集地址编辑不灵活,还没法修改(修改无效,晕)。并且,它只属于该系统!
试用了火车,呵呵,没想到原来是装在本机上的一个程序。虽做工还不算精致,但能做事!行。。。
一开始用3.0,还真晕,以为是采集后再发布,点“发布”却老是出个对话框,没法进一步操作,,呵呵,汗
可能火车立足于“即时”发布,所以采集动作只是稍稍提前了一些,点开始,就开始了。。。。。
废话那么多?!呵呵,且听立马道来:
因为是即时发布(所有CMS系统自带采集),所以其实很难对采集到的资料进行格式改进,往往采来的资料包含有一些并不想要的标签,于是在自己网站上就有些“相形见拙”了。
火车提供了内容排除和替换,十分有用,但却不足够用。幸好,资料可以保存在本地,于是。。。。。。
1、采集时,把资料中除换行(或段落P)以外的标签都滤掉(仅指纯文本资料),保存为 CSV格式。(注意:应该在替换区将英文逗号替换为中文的,引号替换为全角的,其它标点符号替换自己考虑)
2、在Excel或(Open Calc)中导入CSV数据,按标题排序,检查删除重复的内容,删除不需要的列(如果在火车中没做的话),保存。
3、用你熟悉的编辑器,将采集资料中的换行或P标签替换成规范的P标签——原始资料中换行标签大多很乱,有时一个,有时几个。用编辑器可以采用正则批量替换,如Vim中“<[<br>]*>”表示一个或多个换行标签,将之替换成“</p><p class="xxx">”,我的操作如下:
:%s /<[<br>]*>/<\/p><p class="xxx">/g # 替换掉一个或多个换行标签
:%s /"[,]*$/<\/p><\/Content>/ # 内容结束标签,方便二次采集时的提取
:%s /","/<\/Title><Content><p class="xxx">/ # 安置标题结束标签和内容区头部标签
:%s /^/<Title>/ # 安置标题头部标签
(本人只要了标题和内容部分,如果有其它内容,则需要修改匹配的正则表达式。呵呵,正则表达式很强大的哦,如果你不会,建议你去学学。通过上面几个句子,可以一次性编辑几百条采集的文章——够效率吧?)
这样,提炼出了每一个段落,有了干净的资料,样式就很好定义了。下面需要做二次采集(火车中没有将本地资料按格式直接上载的功能,所以……不知会不会考虑?嘿嘿)
4、由于火车保存每次任务中所有的资料到一个文件中,一条资料为一行,所以需要将每一行转换为一个文件。我写了个PHP的小脚本,在CLI模式下执行即可(附后:php.exe mkfile.txt xxx.csv)
5、将分解的文件拷贝到主机某个目录中,构建采集URL,重新采集、上传。(呵呵,标题和内容标签已经很明确了哦)
6、样式表定义“xxx”的样式,随你啦……完。
哇。。。。有点长,其实熟了也就那么几个动作,关键是自己定义样式方便了,而且资料很干净(当然,该注明出处还要尊重版权的哦)。
休息下…………xxx
[ 本帖最后由 Liner 于 2006-12-27 22:15 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?加入会员
x
|