python爬虫抓手机号+java客户端小程序3
2016-05-24 11:38
711 查看
介绍
上篇用java把界面画好了,这篇来写java调用python爬虫。最初用jython,查了些资料,调用时总是报错找不到我引用的类库。(当时没找到解决方法,好像可以通过PythonInterpreter来引类库)然后我就放弃jython了。我想干脆把python打包成exe,然后用java调exe应该也行吧把python打包成exe
首先要安装py2exe,可以从https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/下载,(找对应你系统的文件下载,我是64win7 py2.7)然后一路下一步安装好就ok了打开原来的爬虫程序,在同级目录下新建文件“mysetup.py”。
# mysetup.py from distutils.core import setup import py2exe setup(console=["test.py"])#写你要打包成exe的程序然后运行就生成了dist文件夹和build文件夹,dist下就有我们打包好的exe。我把第一篇的程序做了下修改,如下:
# coding: UTF-8 import sys import re import requests def write(page): end = "" r = requests.get("http://www.0597zp.com/more.php?page=" + str(page)) result = re.findall('target=_blank>(.*?)</A>', r.content) if (len(result) > 0): # tempfile = open("mobile.txt", 'a') for i in result: # print (i + ";") end = end + i + ";" # tempfile.write(i + ";") # tempfile.write("\n") # tempfile.close() return end def begin(pages): end = "" for i in range(1, pages+1): end = end + write(i) return end print (begin(int(sys.argv[1])))
HiPython.java
直接上代码:package test.jython; import java.io.BufferedReader; import java.io.InputStreamReader; public class HiPython { public String getMobile(String pages){ StringBuffer buffer = new StringBuffer(); String[] s={pages}; try { System.out.println(HiPython.class.getClassLoader().getResource("dist/test.exe")); Process exec = Runtime.getRuntime().exec("dist/test.exe "+pages); //2 BufferedReader in = new BufferedReader(new InputStreamReader(exec.getInputStream())); String line; while ((line = in.readLine()) != null) { buffer.append(line); } in.close(); exec.waitFor(); } catch (Exception e) { e.printStackTrace(); } return buffer.toString(); } }
然后我们从eclipse里Export该项目为可执行jar,如图:
在把jar文件放到和dist同级目录下,双击jar文件就能用了。
遇到的问题
1.如果你的jar打包后,运行有问题,你可以从cmd中通过java -jar XXX.jar来打开你的jar文件,然后错误信息就会打印到命令行了。2.java获取资源文件路径,这篇文章很好/article/3967305.html
相关文章推荐
- 第七讲 分支结构程序体验之练习 3个小程序
- 今天早上开了微信,确实是太卡了
- iOS 微信支付 实用教程
- IOS开发--微信支付
- java-微信新版自动聊天助手
- 微信公众平台百度天气预报开发
- zabbix微信报警之企业号
- 逻辑思维题 微信18954274246 答案
- Android高仿微信图片选择上传工具
- 张小龙《微信背后的产品观》之PPT完整文字版
- 微信js-sdk实现“分享到朋友圈”和“发送给朋友”
- 如何检测手机系统,如何检测页面是微信还是QQ打开
- 微信号的openid的深入理解
- Android 微信第三方绑定登录详解
- Android仿微信界面
- Android 仿微信语音识别
- 微信企业号开发部分代码
- 微信支付——调用微信客户端支付之【服务端】开发详解
- 微信返回-1
- Android微信支付从坑里爬出全面解析