当前位置: 代码迷 >> Web前端 >> WebCrawler范例配置(二)
  详细解决方案

WebCrawler范例配置(二)

热度:190   发布时间:2012-10-29 10:03:53.0
WebCrawler实例配置(二)

爬虫下载地址:http://anson2003.iteye.com/blog/385344


如何抓取图片(Binary) 到本地

?

?

在配置中选择Binary? 字段类型 .? 所有的 Binary 下载下来之后自动重命名为 MD5(url).b

存储位置和下载地址分别都在映射表达式里指定.? 最多尝试 3 次抓取。

?

如抓取baidu Logo:

<img?src=http://www.baidu.com/img/baidu_logo.gif?width=270?height=129?usemap="#mp"?id=lg>

?

Regex表达式为 :?<img?src=([^\s]+)??

?

在配置工具中:?{d:\a||$1}<img?src=([^\s]+)?

?

表示下载Logo d:\a 目录下, ||? 表示存储路径和抓取的图片路径的变量分割符。 {} 表示对数据的补充说明。


详细见附件示例。

?

?

如何在组中引用其他字段,隐含字段的使用

?

在同一个组的配置当中,如果有一个字段需要依赖另外一个字段。只要在映射表达式中加入:

$[引用字段名 ]

?

2个隐含字段? $[PAGE_URL],$[PAGE_SOURCE]

?

$[PAGE_SOURCE]? 2 种情况,如果有“循环块”的时候,此时该值为循环块取出来的部分数据,如果无循环块为当前页面的所有 HTML

$[PAGE_URL]:当前处理的 URL 地址,此地址为全路径。

?


如何配置自动分页

?

比如你入口地址只配置了一页,那你可以定义一个分页组(就是找到“下一页”的地方,然后把该取出来的值定义为Url 类型字段)。 这里有些网站始终都有下一页,而且每个下一页的地址都没报错(下一页Url 都不一样)。导致爬虫一直抓取下去。

?

何为URL 类型字段:就是会告诉爬虫我要抓取这个 URL ,简单的说,自动把 URL 加入爬虫抓取列表。


如何使用函数,如何扩展函数

?

?

函数使用:

?

$fn:functionName([param1||param2||.......])

?

必须有返回值,返回值会自动被toString(), 参数必须为 string 类型。

?

默认被注册的方法有?apache?common-lang?StringUtils 里的方法

String? sbcChang e(string)?全角转半角

String? zhNum2AlNum (string)?中文转阿拉伯数字

String?regexReplace(String?s,?String?regex,?String?replacement)?正则替换

String?UnicodeJsToString(String?s)?javascript unicode 转码

String?encode(String?value,?String?charset)?URL编码

String?decode(String?value,?String?charset)?URL解码

String?md5(String?value)??MD5

String?to64(String?value)?base64编码

String?de64(String?value)?base64解码

String?cl(String?s) ?清除html tag

?

?

如何扩展:

?

conf 目录下新增一个? function.conf ?的properties 文件 , 加入你自己的类 :

?

o bject. 1?=??com.tmp.Test1

?

#注册 Test1 所有的带有 string 参数的所有静态方法,和实例化之后的所有带 string 参数的函数。

?

static.1?=?com.tmp.Test2

?

#注册 Test2 所有的带有 string 参数的所有静态方法

?

# object.? ?? static. 前缀的属性值里的类的方法都会被注册到爬虫里。

?

?

连接池支持(减少数据库连接次数)

?

在WebCrawler.bat中,加入启动参数: -Dsupport_ds=1

?

?

示例二下载地址: http://www.box.net/shared/9oj43jy0lj

1 楼 cannysqurrel 2011-03-14  
正打算自己弄一个爬虫更新我的网站,发现这个很适合,文件下载不了,能邮件发给我一份吗麻烦将抓取说明书也发一份  cannysquirrel@gmail.com
  相关解决方案