godisgod2 发表于 2008-9-2 19:10:12

采集时能否替换掉采集的列表地址URL?

举个例,我采集x.com,采到list_1.htm,里面有很多类似 1.htm 2.htm 3.htm ...的,但是这时我想构造 1.htm为http://xxx.com/1a.htm 而不是原先的1.htm,而且xxx.com和原来的x.com不是同一个域名。请问应如何设置?

faunus 发表于 2008-9-2 19:10:13

可以踩,至少有五种办法

一、手动填写链接地址规则
手动填写链接地址规则
禁用自动识别
启用自定义格式
脚本规则:http://x.com/[参数].htm
实际连接:http://xxx.com/[参数1]a.htm

二、正则获得多页
选依规则对默认地址替换成生地址
将http://x.com/(\d+).htm
替换为 http://xxx.com/$1a.htm

三、修改pageurl
步骤一、先进行单条网址采集,勾选只采网址。
步骤二、打开Data下任务文件夹,打开SpiderResult.mdb。
步骤三、update命令set pageurl,利用数据库内置函数甚至写出脚本将x.com替换为xxx.com并加a。
步骤四、采集数据。

四、分两阶段采集
可以看作方法三的变种
步骤一、先进行单条网址采集,勾选只采网址。
步骤二、打开Data下任务文件夹,打开SpiderResult.mdb。
步骤三、导出pageurl,以任意文式加以整理得到需要的地址的文本。
步骤四、文本导入方式重新加以采集。

五、BUG法
利用2008对于POST方式的一个BUG,得到类似方法一的办法。
这个乎略。
BUG见下贴:
http://bbs.locoy.com/spider-30704-1-1.html

[ 本帖最后由 faunus 于 2008-10-13 13:00 编辑 ]

chenfy 发表于 2008-9-2 19:24:37

这个不懂能不能采集,因为你采集的时候是在别人的网站上采集的,你把地址都改了还怎么采呢?我想应该是不行吧。

连通 发表于 2008-9-9 06:52:31

用正则采集,可以实现

fzqsunk 发表于 2008-10-7 12:08:36

虚心学习中!::lol

blackcake 发表于 2008-10-7 18:13:03

可以的,火车头很强大的

冲锋火车头 发表于 2008-10-10 09:53:23

可以 ,需要的话 联系 397707719

faunus 发表于 2008-10-13 12:52:28

五种办法的总结

方法一:
简单易行,
适合地址规则可以简单处理一对一,
采集1层次的情况

方法二:
简单易行,
适合地址规则可以正则处理一对一,
采集1、2层次的情况

方法三:
比之方法一二要多些步骤,
适合地址规则可以一对一的任意情况,
至少包括理论上没法正则的情况,
可以配合外部修改工具自动处理,

方法四:
比之方法三,可以实现一对多的情况,
处理手段上也可以比方法三更灵活。

方法五:
限定同一个域内,采集1层,巧用POST,非典型用法。

[ 本帖最后由 faunus 于 2008-10-13 13:00 编辑 ]
页: [1]
查看完整版本: 采集时能否替换掉采集的列表地址URL?