大家说说 Python 和 Java 混合开发的一些方法吧

2017-04-13 23:18:04 +08:00
 backfrw
自黑如我,毕业都给自己挖坑,前段时间交了毕业设计的开题报告,本来打算就 java 写个网站,老师说不行,太简单,改报告。。。
用 python 写爬虫,通过关键字爬取信息,存数据库,用 java 的 SSM 框架写个后台,从数据库获得关键字相关的信息展示在页面上,之前想的是关键字通过 java 存数据库, python 从数据库拿关键字爬网站,算是通过开题报告了

等真正开始写才觉得不对,主要流程上 java 怎么在 python 结束后运行,就把自己想死机了。。。。

长期潜水看v2ex学姿势,大佬们能不能讲讲怎么开发比较容易啊?
目前是 python 小白,正在一边看教程一边写
4700 次点击
所在节点    问与答
33 条回复
incompatible
2017-04-13 23:39:11 +08:00
Java 和 Python 各跑各的,共用同一个数据库而已。
backfrw
2017-04-13 23:46:23 +08:00
@incompatible 是的是的,但是使用上是用户先设定关键词,放数据库,爬虫根据这个关键词找数据,存数据库,页面再展示,,,, python 小白,不知道怎么 python 怎么能马上知道数据库有关键词可以跑了,和后台不知道什么时候有新数据可以展示了,,,比较懵逼
yuelang85
2017-04-13 23:55:37 +08:00
@backfrw 可以考虑用进程间通信,发个信号量就行了。

不过我不能理解你为什么要用两门语言
backfrw
2017-04-13 23:58:39 +08:00
@yuelang85 恩恩,我去研究下,谢谢
用两门语言是因为老师不给过开题报告,说 Java 的 ssm 写网站太简单了
misaka19000
2017-04-14 00:04:36 +08:00
RPC 可以吗?
backfrw
2017-04-14 00:06:17 +08:00
@misaka19000 没有接触过,得研究下,谢谢建议
sagaxu
2017-04-14 00:14:34 +08:00
@backfrw 套个 grpc 或者 thrift 就不简单了?
luban
2017-04-14 00:18:16 +08:00
方法使很多,但是为什么要用两门语言, Java 写爬虫不行吗,或者 python 写网站?
backfrw
2017-04-14 00:19:13 +08:00
@sagaxu 两个都第一次听说,,就不简单了的意思是很难吗?汪的一声哭出来。。。
backfrw
2017-04-14 00:22:06 +08:00
@luban 一开始说 java 用 SSM 写网站,老师不让过,说太简单,然后改来改去就脑子一热坑了自己
backfrw
2017-04-14 00:23:28 +08:00
@luban 麻烦大佬随便来两种比较原始的实现方法啊?看了楼上大大们说的 RPC ,要用的话得从头学,感觉会再坑自己一次
ipconfiger
2017-04-14 00:57:45 +08:00
用 redis
mhycy
2017-04-14 01:01:37 +08:00
Java Web 后端在收到爬虫请求后写入到数据库,并发送到队列
Python 爬虫监听队列,并执行

两个服务都是持续在线,利用数据库和队列解耦
incompatible
2017-04-14 01:11:38 +08:00
@backfrw Python 轮询数据库里的关键词表就行了。别做 RPC , RPC 根本就不是干这个用的。
backfrw
2017-04-14 01:18:00 +08:00
@incompatible 好的,谢谢大佬建议,似乎逃过一坑
backfrw
2017-04-14 01:19:22 +08:00
@mhycy 我下去研究下, 谢谢大佬建议
Mogugugugu
2017-04-14 01:35:42 +08:00
最原始的办法就是 数据库 里面加一个标志位,标志爬虫是否爬取完成, Java 每次请求数据库 先判断标志位是否是完成,如果是前取值展示。反正这俩都要读取数据库的,这是最原始的办法了。
Tneciv
2017-04-14 01:44:30 +08:00
上 mq 啊
fy
2017-04-14 01:48:44 +08:00
哪有那么多高科技啊?轮询不就完了……
ChasYuan
2017-04-14 09:22:58 +08:00
那看来我专业毕设要求比较水了。仰望楼主。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/354728

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX