1
forgetTb OP 或者说能够使用 tornado.platform.twisted
具体是在 Tornado 框架下 import tornado.platform.twisted tornado.platform.twisted.install() from twisted.internet import reactor 调用 Scrapy 启动爬虫(EvenvLoop 事件循环的代码) dfd = process.crawl(QuotesSpider) # process.start() # the script will block here until the crawling is finished d.addBoth(lambda _: reactor.stop()) result = dfd.addCallback(self.result_items) 并且直接拿到爬取数据。 参考链接如下: https://stackoverflow.com/questions/36384286/how-to-integrate-flask-scrapy http://www.tornadoweb.org/en/stable/twisted.html#twisted-on-tornado https://doc.scrapy.org/en/latest/topics/practices.html |
2
crb912 2018-05-16 12:09:03 +08:00 via Android
原理是:Twisted 建立连接和请求,scrapy 分析数据,tornado 显示?
|
3
golmic 2018-05-16 12:40:55 +08:00 via Android
不知道目的是什么。我的做法是解耦,scrapy 只管并发抓取的事
|
4
chrisyunhua 2018-05-16 17:49:10 +08:00
pyspider rpc 调用挺好的
|
5
forgetTb OP @crb912 Tornado 做 webserver (可以用 newrelic 做服务器监控), 调用 scrapy 项目的爬虫并实时响应返回。( scrapyrt 是用 Twisted 做 Webserver:不能够与 newrelic 搭配使用 XXX )
|
6
forgetTb OP @golmic 1, 需要的是实时响应,类似 scrapyrt(realtime, nonblocking)这种。但 scrapyrt 是使用 Twisted 做 WebServer,并不能与 newrelic(:一种服务器监控软件)搭配使用。现在想使用 Tornado 做 WebServer(支持 newrelic,且异步)。
|
7
golmic 2018-05-18 14:20:51 +08:00
我没太懂啊,实时响应的意思是前端传一个 URL,爬虫马上去抓取然后返回结果给 client ?那这过程不是同步的么?
|
8
kmz 2018-05-29 15:22:01 +08:00
请问楼主有没有新进展?我也想做类似的
|
9
kmz 2018-06-20 20:05:10 +08:00
我初步完成了,,,https://www.v2ex.com/t/464495
|