Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java调用Python

Java调用Python

作者头像
一点儿也不潇洒
发布于 2018-08-07 02:18:02
发布于 2018-08-07 02:18:02
1.9K00
代码可运行
举报
文章被收录于专栏:肖洒的博客肖洒的博客
运行总次数:0
代码可运行

在Holi,两方面的感受最深刻:

  1. 一款APP的开发,从前到后的流程原来是这样啊。
  2. 每门语言都有它的强大之处,不是它能不能实现,而是你想不想实现。

联调方案

爬虫这边已经把数据存进MySQL了。 但是和后台那边还没有想好怎么联调。

  • 想法一: 安卓组直接提供爬虫组需要的用户信息。 怎么给?http协议?反正我不知道…
  • 想法二: 安卓就相当于是前端,它的后台就是后台(这话听起来怪怪的)。 直接让后台把用户信息存成一张表。 读取每一条用户信息,调用爬虫组的Python程序,参数传入。 爬虫组直接将数据又存进后台数据库里。

这个想法应该是可以的,毕竟Java和Python都很强大。

Java调用Python

总体思想:

在有新用户加入或者有新的数据需要更新的时候,Java直接调用爬虫并传入参数。 结果就是数据存入到了数据库。

了解到Java有Runtime.getRuntime().exec() 这样就好办多了。 这个方法其实就好像是cmd命令行一样的执行python 程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Runtime.getRuntime().exec("python D:\\studentdb.py id password");

id和password就是传入的参数。 把原爬虫程序改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if __name__ == '__main__':
    # 初始化爬虫对象
    xs = XDspiderStudent()
    # 登录(在此处传入正确的个人学号与密码信息)
    #从Java里传入参数
    xs.login((sys.argv[1]), (sys.argv[2]))
    xs.Store()
    xs.saveMysql()

这样即可。

这样需要一个服务器也就可以了。 就是不知到怎么部署,还需要学习。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java调用Python的错误
因为这篇Java调用Python 之前试过用Java调用Python,到真正用的时候才发现是一个乌龙。
一点儿也不潇洒
2018/08/07
1.9K0
【更正】Java调用Python
该方法可以解决传递形参的问题。也可以执行Python程序。 遇到的问题:需要确定好jython的路径问题和其他设置的路径问题。
一点儿也不潇洒
2018/08/07
8080
java调用python脚本返回的参数_javaweb调用python
实际工程项目中可能会用到 Java 和 python 两种语言结合进行,这样就会涉及到一个问题,就是怎么用 Java 程序来调用已经写好的 python 脚本呢,一共有四种方法可以实现:
全栈程序员站长
2022/11/01
4.8K1
Java调用Python爬虫
用java调用python的爬虫程序,是一件很有意思的事情, 但解决方法大多不靠谱,作者花了两天的时间,动手实践,最终完全解决了问题 java-python Java调用Python爬
zhaoolee
2018/04/28
2.9K0
Java调用Python爬虫
scala调用python
Jpython(http://www.jython.org/)是一个java的扩展包,在scala里面可以直接调用
py3study
2020/01/08
2.2K0
探索Java中如何执行python脚本
 一个偶然的场景,笔者需要在java代码中执行某个python脚本,并且需要向脚本中传递参数,有可能的话,还要获取该脚本的某些执行结果,回到主程序中继续执行下去。
雷子
2021/03/15
1.6K0
探索Java中如何执行python脚本
打工人打工魂,打工的必会java调用python的几种用法(看这篇就够了)
创建maven工程,结构如下:到官网https://www.jython.org/download.html下载Jython的jar包或者在maven的pom.xml文件中加入如下代码:
用户7656790
2020/11/03
5.9K0
打工人打工魂,打工的必会java调用python的几种用法(看这篇就够了)
pycharm编写的文件如何执行_pycharm可以写java吗
最近在做编译原理课设,准备用Java写个GUI整合一下,因为自己的LL1文法使用python写的,所以需要Java来实现运行python代码,网上给出了主要三种方法,但是使用Jython的方法有局限性且不太方便,于是我将采用最简洁的方法
全栈程序员站长
2022/09/27
9890
Java调用含第三方库Python脚本传递数据并返回计算结果
目前有几种Java调用Python的方法,不过能良好兼容Python第三方库的方法通常是使用
SL_World
2021/09/18
2.7K0
在Java中调用Python
在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢。当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单。恰好我在项目中就遇到了这个问题,需要在Java程序中调用Python程序。关于在Java中调用Python程序的实现,根据不同的用途可以使用多种不同的方法,在这里就将在Java中调用Python程序的方式做一个总结。
编程随笔
2019/09/11
5.5K0
在Java中调用Python
干货:教你如何在JMeter中调用Python代码N种方法!
在性能测试领域,JMeter已经成为测试专业人士的首选工具,用于模拟用户行为、测量响应时间、评估系统性能。而现在大部分接口都会涉及到验签、签名、加密等操作,为了满足特定需求,我们需要更多的灵活性,比如引入Python来进行特定操作或处理复杂逻辑。(特别是针对一些只会Python编程, 不擅长Java的)
测试开发技术
2023/12/21
1.3K0
干货:教你如何在JMeter中调用Python代码N种方法!
JAVA常见漏洞复现
Shiro550漏洞原理是Shiro框架提供了一种记住密码(Rememberme)的功能,用户登录成功后会生成经过加密的Cookie值,对Remembe的Cookie进行AES解密、Base64解密后再反序列化,就导致了反序列化RCE漏洞 。 Shiro<1.2.4版本,其使用的密钥为固定密钥Shiro550kPH+bIxk5D2deZiIxcaaaA==,这就更容易导致RCE漏洞
用户9691112
2023/05/18
1.7K0
JAVA常见漏洞复现
Java 实现 Win10 拨号功能的深度解析——借鉴 Python 实现方案
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/09/28
1950
Java 实现 Win10 拨号功能的深度解析——借鉴 Python 实现方案
JBoss 5.x/6.x 反序列化漏洞复现
该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。
LuckySec
2022/11/02
4470
JBoss 5.x/6.x 反序列化漏洞复现
Apache Solr Velocity RCE 真的 getshell 了吗
在复现 Apache Solr Velocity 模板注入时,发现了一些问题,因为这些问题即使可以执行命令,也不能进行后续渗透。
信安之路
2019/11/14
1.8K0
Java安全-反序列化-2-CC
TransformedMap,⽤于对Map类型的对象做修饰,被修饰过的Map在添加新的元素时,将可以执⾏⼀个回调。 如下,传入变量innerMap,返回outerMap。outerMap在添加新元素时,keyTransformer是处理新元素的Key的回调,valueTransformer是处理新元素的Value的回调,处理后得到的返回值才会被添加进outerMap中
Naraku
2022/04/14
3490
Java安全-反序列化-2-CC
java调用python的惨痛史(无法获
环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle         事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用python使用外部传参做一个处理,再写回到数据库。如果使用java直接搞的话需要绕很大一个圈,比较麻烦,用python的话就很简单了,于是就有了下面的故事,希望和我遇到同样问题的同学能对你们有一些帮助,少绕一些圈子,java和python功能开发都很顺利,于是到了java调用python环节
py3study
2020/01/17
1.3K0
【爬虫】(七)Python数据存储之MySQL(下)
上一篇关于Python和MySQL的简单联调做了学习。 这次主要是将这个过程再优化扩大点。 对教务处需要的数据都进行了处理存进数据库了。 也是对bug问题的总结。
一点儿也不潇洒
2018/08/07
6350
【爬虫】(七)Python数据存储之MySQL(下)
学习调试 JAVA 反序列化漏洞入门案例
本文以 Commons Collections5 利用链进行学习,进而分析近期公开的 CVE-2020-2555。作为学习调试 JAVA 反序列化漏洞入门的第一步吧。
信安之路
2020/04/01
1.2K0
干货 | Spring系列CVE以及POC编写
Spring在自动解析用户参数时候使用了SpelExpressionParser 来解析propertyName
HACK学习
2021/07/21
1.2K0
相关推荐
Java调用Python的错误
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验