1
tonyseek 2014-02-19 22:41:50 +08:00 1
[这样写](http://brownant.readthedocs.org/en/0.1.4/userguide/quickstart.html#the-declarative-demo)如何?
Brownant 是我在维护的的一个项目,解决的主要就是定向爬虫。爬虫规则通过定制的 `PipelineProperty` 描述性地写在类里,和 Homebrew 的那种方式有点像。 |
2
lazybios OP @tonyseek
我好研究研究去 有次不知道在哪里看到一个帖子,说的大概是用xml配置,来解决的,每次规则过时以后只需要调整xml就可以了,感觉这样比较省事,当时没有写这方面的程序,所以只记住了点大概思路,后面的细节就断篇了... |
3
family 2014-02-20 07:13:41 +08:00 via iPhone
配置在数据库
|
4
yakczh 2014-02-20 11:29:19 +08:00
下载,抽取链接放到队列里这都是一样的,不一样的是抽取数据部分,这部分可以把解析代码当成配置数据, 根据不同站点不同url规则动态载入, python怎么样传入一段字符串的代码eval动态执行 ,不过这比较丑陋,有没有优雅一点的方法?
|
5
yaotian 2014-02-20 12:12:01 +08:00
配置文件,抓不到了,收到邮件。所有规则都配置文件,修改配置文件,自动生效。见我的lumeinv.com (上班期间要小心)
|
6
tonyseek 2014-02-21 10:32:59 +08:00
@lazybios XML 或者其他方式的静态配置写定向爬虫貌似不是很灵活,比如某个标签的内容需要过滤掉一些文本,或者在出现某些文本的时候抛出指定的异常,静态的配置就完全无力了。又或者你需要抓取的网站用 AJAX 来载入部分信息,你可以就要在一次抓取中多次走 请求-抽取 的过程,这也是为何我之前遇到类似需求,没有直接用 Scrapy 的原因。
|