按照文档: http://docs.pyspider.org/en/latest/Working-with-Results/#working-with-resultworker
我定义了 MyResultWorker 同时通过 config.json 的方式引入 我尝试在 my_result_worker 文件中故意制造错误确认是引入的
以上为背景,问题来了,我在 on_result 中不管指定任何存储方法,或者简单的输出个 test 都是没有工作的。
这是爬虫的代码,是我需要手动触发吗?比如写一个 on_result 什么的,由于我不太懂 python ,搜遍了 google,google group,sf 都没有一点提示 = =
rom pyspider.libs.base_handler import *
class Handler(BaseHandler):
@every(minutes=30)
def on_start(self):
self.crawl('http://schoolgirl2015.tumblr.com/', callback=self.index_page)
@config(age=30*60)
def index_page(self, response):
imglist = []
for each in response.doc('article img').items():
imglist.append({'src': each.attr.src, 'alt': each.attr.alt})
return {
'source': self.project_name,
'data': imglist,
'score': 0
}
@binux
2
binux 2016-06-29 22:53:47 +08:00
你怎么启动的, config.json 内容是什么
|
3
kslr OP @binux
在我快要放弃的时候终于碰到你了 启动命令是 pyspider -c config.json --data-path=data --debug (python2) 配置是: https://gist.github.com/kslr/037cf05f89f4bb3485eaf653a4e7246a |
4
kslr OP my_result_worker :
https://gist.github.com/kslr/18946e63a2cb6d618d851901b5a99ed7 如果需要到机器上调试的话,请给我一个邮箱,我会把账户和密码发给您 |
5
binux 2016-06-29 23:13:08 +08:00
应该没有问题。但是,你并没有修改 on_result 的行为啊,你在 on_result 里面 `print result` ,命令行中都没有输出吗?
|
6
kslr OP @binux 没有,终端最后一句是 tornado_fetcher 的状态, self.resultdb.save 是因为我百般尝试失败,直到最后一次代码
[W 160629 11:18:08 run:406] phantomjs not found, continue running without it. [I 160629 11:18:11 result_worker:49] result_worker starting... [I 160629 11:18:11 scheduler:489] loading projects [I 160629 11:18:11 scheduler:424] in 5m: new:0,success:0,retry:0,failed:0 [I 160629 11:18:13 tornado_fetcher:509] fetcher starting... [I 160629 11:18:13 processor:208] processor starting... /usr/local/lib/python2.7/dist-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.login is deprecated, use flask_login instead. .format(x=modname), ExtDeprecationWarning [I 160629 11:18:13 app:76] webui running on 0.0.0.0:5000 [I 160629 11:18:32 tornado_fetcher:178] [200] SchoolGirl:data:,on_start data:,on_start 0s [I 160629 11:18:35 tornado_fetcher:410] [200] SchoolGirl:2ff884772a402ac824ae18e73635c991 http://schoolgirl2015.tumblr.com/ 0.68s [I 160629 11:19:11 scheduler:424] in 5m: new:0,success:0,retry:0,failed:0 |
7
binux 2016-06-29 23:29:39 +08:00
@kslr
你这个任务是不是已经执行过了?去重策略不会抓取已经抓过的内容,也就不会有 result 产生。 日志中有 select 某个任务吗?或者 webui active_tasks 中有成功的, index_page 任务吗? |
9
kslr OP 在编辑页面选择左上角的 run
|
10
binux 2016-06-29 23:44:24 +08:00
debug 中 run 不会产生 result 的!那只是 debug !
回到 dashboard ,把状态设置为 running ,然后点 run 。 |