|
|
本帖最后由 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
查看全部评分
-
|