struts2小小项目 经验总结(3) 调用python
- 程序呢是这样的,java调用python,把需要爬的网址当作参数传进去,然后python爬取内容,然后压缩,java把这个压缩包下载到客户端。
- 遇到个麻烦,就是同学的爬虫程序是使用scrapy框架的,需要进入入口程序的文件夹下才可以运行,所以我使用了bat批处理文件实现(不安全,但是水平有限,只能这么干)。
- 然后在使用struts提供的下载功能将打包好的程序下载到客户端。
- 实现下载功能,就是把action中返回值的类型设置为流,具体的配置如下
<action name="downloadAction" class="action.Actions.DownloadPics"><result type="stream"><!--指定返回类型为流--><param name="inputName">Target</param><!--指定是哪个方法执行之后的返回值--><param name="contentDisposition">filename="this is you cat.zip"</param><!--指定文件的名字--></result></action>
public InputStream getTarget() throws Exception{File file = new File("/Cat'sEye/downloadFiles/zipFile.zip");CallPython callPython = new CallPython();callPython.execute(getTargetUrl());InputStream in = new FileInputStream(file);return in;}
int execute(String url) {// 先把上次下载的内容清理干净File file = new File("/Cat'sEye/downloadFiles/111");if(file.exists()){delDir(file);}// 使用bat文件进入python所在的位置,然后实行python程序try {FileWriter writer = new FileWriter("runPython.bat");writer.write("@echo off");writer.write("\r\n ");writer.write("cd /");writer.write("\r\n");writer.write("cd Cat'sEye\\Cat'sEyePython");writer.write("\r\n");writer.write("python dmzj_start.py" + " " + url);writer.write("\r\n ");writer.write("exit");writer.write("\r\n ");writer.write("@echo on ");writer.close();Process process = Runtime.getRuntime().exec("cmd /c start /wait runPython.bat");process.waitFor();return 0;} catch (Exception e1) {e1.printStackTrace();}return 1;}
- 实现下载功能,就是把action中返回值的类型设置为流,具体的配置如下
struts2小小项目 经验总结(3) 调用python相关推荐
- 项目经验:抽奖程序(Python)
每家互联网公司到年末都会有聚会,聚会少不了抽奖环节,如何公平.有趣的做好抽奖活动是年会开的好不好的重要评价指标,以下笔者从一个程序员角度,设计一款抽奖程序. 一.业务 参加抽奖的人员数据保存在一个cs ...
- pythonnet调用python tsne算法
之前项目中用到C#调用python库,要不就是脚本调用,要不就是rpc服务调用,脚本调用无法传递复杂参数,rpc服务调用又觉得太麻烦,两边都需要制定协议.之前尝试过使用Keras.Net这个机器学习的 ...
- QT调用python文件
QT调用python文件 基本步骤 1.将python文件要是使用的环境添加到环境变量中 2.新建一个QT项目 3.在.pro文件中加入需要的python库文件目录 右击项目名,然后单击"添 ...
- 经验模态分解与Python调用实例
经验模态分解与Python调用实例 经验模态分解 Python代码实现 经验模态分解 如果需要对一个信号进行降噪的话,我们通常会尝试将一个时域信号变换到不同的域空间,以期将信号中的噪声和有效信号在该域 ...
- Java调用python项目实战
项目中有用到Java调用python的需求,经过各种坑之后,根据业务需求,最终实现Java调用Python的各种情况,现在将总结如下,当然调用的也是Jython,具体原因,下面会介绍,先将代码贴出来. ...
- C++调用Python项目实战
C++调用Python项目: 实战:链接:https://pan.baidu.com/s/1A_If6y37aS2LfWtHglBECQ 提取码:wsnb –来自百度网盘超级会员V2的分享
- java和python可以在一个项目中同时使用么-java调用python的几种用法(看这篇就够了)...
java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...
- java调用python项目实战_Java调用Python
今天遇到Java调用一个Python脚本的问题,纠结了大半天,遇到各种问题.网上搜索的大部分都是用jython,但是我想要调用的python脚本里有import urllib,这个urllib也不是什 ...
- python简历项目经验怎么写_个人简历中工作经验怎么写?
在找工作的过程中,简历的填写是一门大的学问.一份好的简历,能够让面试官,有种迫不及待想要见你的冲动,这样也才能够让你在众多求职者中脱颖而出. 很多人在填写简历中工作经验一栏时候,会出现犯难的情况.可能 ...
最新文章
- 2020年python工资一般多少钱-2020年Python的就业薪资有多少?前景如何?
- Spring Caching集成Ehcache
- SAP IBASE logic of pt_equiindx
- 第 3-1 课:集合详解(上) + 面试题
- C# 访问MongoDB 通用方法类
- C语言实现舒尔特表格生成器
- 计算机网络中abc类地址,abc类ip地址-abc类ip地址和私有地址范围
- java google 离线地图开发_如何发布google离线地图及二次开发API
- 如何用计算机装手机系统,如何使用手机给电脑安装Windows10系统?
- c++ virtual
- 【深度学习】梯度消失与梯度爆炸的原因分析与解决策略
- 物联网应用案例,中易云真实搭建项目
- Linux机械硬盘初始化,教你如何初始化外接盒中的硬盘
- php采集 今日头条链接,火车头按作者采集今日头条全部文章的方法
- html制作洋葱皮,洋葱皮作用做漂染复活节彩蛋教程
- 知名软件 XMind 竟然请求其它网站发布其盗版软件
- MES系统汽车底盘生产线数据追溯糸统源码
- 运维实操——日志分析系统ELK(中)之logstash采集数据、伪装rsyslog、多行过滤、grok切片
- OpenStack Days China:华云数据CTO郑军分享OpenStack创新实践
- 利用百度地图,实现移动端附近门店功能
热门文章
- 记一次失败的MySQL修复经历,报错信息:Tablespace X was not found at X;Set innodb_force_recovery=1 to ignore this
- 计算机互联网络教学反思,《电脑与网络》教学反思
- Android 农历和节气相关工具类(记录)
- 基于RK3288的双屏异显实现
- springSecurity 学习(一)创建springSecurity项目
- 基于机智云物联网云平台的智能车库
- impala 对hue_如何对Hue调光器开关进行重新编程以对灯光进行任何处理
- 1213 解的个数[一中数论随堂练]
- Adobe MAX | 铅笔画变卡通图、视频变漫画
- 架构的演进,阿里资深Java工程师表述架构的腐化之谜