我是 Python 新手,最近想用 scrapy 框架写一个爬虫,爬到的数据想保存到数据库里,网上搜了一下发现 Python 的数据持久化好原始啊,还要自己写代码显式连接数据库,然后拼接 SQL 执行,太原始了。最近又刚好在做一个 php 的 Laravel 项目,感觉 Laravel 的数据持久化好方便啊,而且我爬到的数据最终还是要用 Laravle 做一个网站来展示。所以我就想让 scrapy 爬到的 item 直接传给 Laravel 。
考虑了几种方案,但是感觉不够优雅,大家有没有更好的方法?
1.在 scrapy 里,当爬到 item 之后,做一个 http request 请求, URL 是 laravel 项目的某个 route ,然后把 item 以 json 的格式作为 request 的 post 参数传给 php 的 laravel 框架。
2.发现 Redis 的 Pub/Sub , Laravel 框架又原生支持 Redis ,能否先在 php 里订阅一个消息,然后在 Python 里用 Redis publish 这个消息,这样 php 里就能收到这个消息了?这种好想不行把,因为 php 是脚本语言,不会有进程一直处于监听状态,谁来启动 php 的进程去订阅并监听消息呢?但是 laravle 里的 Redis 又有 subscribe 接口,这个是干毛啊?咋用啊?
3.还有什么其他流行的进程间通信方案吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.