火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 2612|回复: 4

SQL解决日常的麻锁应用

[复制链接]
发表于 2009-5-20 17:55:40 | 显示全部楼层 |阅读模式
本帖最后由 hezhenfei 于 2009-5-22 10:42 编辑

原始出处:51cto.com
作者信息:hezhenfei8

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://491729.blog.51cto.com/481729/159523


SQL解决日常采集的麻锁应用

以下操作,请先备份你要操作的access数据库,避免重装locoy或重采数据。

1.如果你要维护的网站有N个栏目,而一个栏目发布都要登录一下。再发布。是不是很烦。如图




图2(发布模块)

你可以找到:E:\LocoySpider\System\Config.mdb,打开,点击“查询”,新建一个查询,操作如图




下图点击“关闭”


点击右键选择“SQL视图”


这入自己sql语句: UPDATE webPost SET cookie = [:输入火车头抓取的Cookie];
保存为“查询1”。把你用locoy登录一次后的Cookie,复制, 回到Access数据库,双击“查询1”,粘贴到里面点确定就行。操作如图







2、Sql语句:(全部过滤)
('0,1,2,3):你要排除的Html标签。见下图10
(标题','作者','时间'等):是你的标签名

UPDATE Rules SET htmlTrim = '0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19'
WHERE (LabelName in ('标题','作者','时间','来源','浏览量','出处','SY_摘要','关键词','SY_URL','SY_关键字','摘要'));


图10

2、Sql语句:(内容过滤:链接,表格,层,图像)

UPDATE Rules SET htmlTrim = '0,1,6,10'
WHERE (LabelName='内容');

3.SQL语句:(查询“内容”标签中增加了“内容排除”记录)

SELECT jobid, labelName, regextrim
FROM Rules
WHERE (labelName='内容') And ((regextrim) Is Not Null);

4. SQL语句:(查询某个栏目中所有标签的“内容排除”)
jobid:对应“E:\LocoySpider\Data\149-39科室医生”,jobid:就是149
SELECT jobid, labelName, regexTrim, htmlTrim
FROM Rules
WHERE (jobid=96);

5.SQL语句:(所有栏目下的所有标题,排除中文空格1个,英文2个空格。)
UPDATE Rules SET RegexTrim = ' ○  ○((*))'+RegexTrim;


6.SQL语句:(所有栏目日期更新)
用于日期:
UPDATE job SET ContentPageMust = replace(ContentPageMust,'2008092(',[:2008091]+'(');
UPDATE job SET ContentPageMust = replace(ContentPageMust,'2008-09-2(',[:2008-09-1]+'(');
UPDATE job SET ContentPageMust = replace(ContentPageMust,'200810/2008100(',[:200809/2008091]+'(');
UPDATE job SET ContentPageMust = replace(ContentPageMust,'2008/092(',[:2008/091]+'(');
UPDATE job SET ContentPageMust = replace(ContentPageMust,'089(',[:089]+'(');
UPDATE job SET ContentPageMust = replace(ContentPageMust,'2008-09/2(',[:2008-09/1]+'(');

7.SQL语句:(采集时有些无法过滤的网址的删除)
最后过滤出来的网址:
http://ysk39.net/wuhan/yisheng/detail/445d8.html
http://ysk39.net/wuhan/yisheng/detail/445d8.html#i
http://ysk39.net/wuhan/yisheng/detail/445d8.html#sc
我想要的是:
http://ysk39.net/wuhan/yisheng/detail/445d8.html
删除所有带“#”号的记录。
DELETE * FROM content WHERE PageUrl like '*[#]*';

8. 替换
我们经常采集回来的内容是图片的地址是相对路径。
<IMG src="xin_37210050607364211721518.jpg" border=0>
如:http://www.xinhuanet.com(新华网)
http://www.xinhuanet.com/travel/2008-10-06/content_10154758.htm
1、一般用程序来替换:
2、我的简单方法:先把网址的字段截断,再合并字符串,替换。
以新华网为例:打开content,点击“设计”,把pageurl改为文本,长度24,执行下面的SQL语句:UPDATE content SET 内容 = replace(内容,'src="xin','src="'+pageurl+'xin');

OK,最后打pageurl设回原来的备注类型,否则无法采集。

完。怎样改都是为了简化日常的工作。操作前请先备份数据。

评分

1

查看全部评分

发表于 2009-5-20 19:19:50 | 显示全部楼层
火车头对已采集的数据处理,只是sql本身的功能。sqlite又不支持函数
开发个接口什么的来处理数据啊
 楼主| 发表于 2009-5-21 10:04:21 | 显示全部楼层
对已采数据,进行内网发布了(测试用),再到外网发布。
写一条sql语句就行了:UPDATE content SET 已发 = 0
发表于 2009-6-8 21:12:28 | 显示全部楼层
呵呵!!看楼主打这么字的份上我支持一下你!!
发表于 2009-6-8 22:10:09 | 显示全部楼层
我用火车自带的编辑器, 主要是够方便.
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

企业微信|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2026-4-25 22:11

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表