我是 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.还有什么其他流行的进程间通信方案吗?
本文探讨了Python爬虫框架Scrapy与PHP框架Laravel之间的数据传递方式,包括通过HTTP请求、Redis Pub/Sub机制及其它进程间通信方案的可能性。


被折叠的 条评论
为什么被折叠?



