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