全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java抓取网页内容三种方式2011-12-05 11:23一、GetURL.javaimport java.io.*;import .*; public class GetURL public static void main(String args) InputStream in = null; OutputStream out = null;try / 检查命令行参数if (args.length != 1)& (args.length != 2) throw new IllegalArgumentException(Wrong number of args);URL url = new URL(args0); /创建 URLin = url.openStream(); / 打开到这个URL的流if (args.length = 2) / 创建一个适当的输出流out = new FileOutputStream(args1);else out = System.out;/ 复制字节到输出流byte buffer = new byte4096;int bytes_read;while(bytes_read = in.read(buffer) != -1)out.write(buffer, 0, bytes_read);catch (Exception e) System.err.println(e);System.err.println(Usage: java GetURL );finally /无论如何都要关闭流try in.close(); out.close(); catch (Exception e) 运行方法:C:javajava GetURL :8080/kj/index.html index.html二、geturl.jspOK-,创建文件成功三、HttpClient.javaimport java.io.*;import .*;public class HttpClient public static void main(String args) try / 检查命令行参数if (args.length != 1) & (args.length != 2)throw new IllegalArgumentException(Wrong number of args);OutputStream to_file;if (args.length = 2) to_file = new FileOutputStream(args1);/输出到文件else to_file = System.out;/输出到控制台URL url = new URL(args0);String protocol = url.getProtocol();if (!protocol.equals(http) throw new IllegalArgumentException(Must use http: protocol);String host = url.getHost();int port = url.getPort();if (port = -1) port = 80; String filename = url.getFile();Socket socket = new Socket(host, port);/打开一个socket连接InputStream from_server = socket.getInputStream();/获取输入流PrintWriter to_server = new PrintWriter(socket.getOutputStream();/获取输出流to_server.print(GET + filename + nn);/请求服务器上的文件to_server.flush(); / Send it right now!byte buffer = new byte4096;int bytes_read;/读服务器上的响应,并写入文件。while(bytes_read = from_server.read(buffer) != -1)to_file.write(buffer, 0, bytes_read);socket.close();to_file.close();catch (Exception e) System.err.println(e);System.err.println(Usage: java HttpClient );运行方法:C:javajava HttpClient :8080/kj/index.html index.html注意中文可能会显示乱码,在得到源码后,应该做相应的转码工作,例如:public static String GetURLstr(String strUrl)InputStream in = null;OutputStream out = null;String strdata = ;tryURL url = new URL(strUrl); / 创建 URLin = url.openStream(); / 打开到这个URL的流out = System.out;/ 复制字节到输出流byte buffer = new byte4096;int bytes_read;while (bytes_read = in.read(buffer) != -1)String reads = new String(buffer, 0, bytes_read, UTF-8);/System.out.print(reads);strdata = strdata + reads;/ out.write(buffer, 0, bytes_read);in.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025全国水利安全生产知识竞赛题库及答案
- 2025年高级经济师金融真题及答案
- 2025年无人机操控与维护理论考试复习题库及答案详解
- 2026年权益转让合同
- 防寒防冻应急方案冬季防雪防冻的预案
- 护理三基考试试题附答案
- 初中语文人教部编版九年级上册诗词三首教案设计
- 2025年医院护理部三基考试试题(含答案)
- 跌倒护理应急预案演练记录
- 养老院老年人烫伤防范措施及应急预案
- 体能模块 发展上下肢协调、力量素质 教学设计-2023-2024学年高一上学期体育与健康人教版必修第一册
- 2023年全国职业院校技能大赛-融媒体内容策划与制作赛项规程
- DL∕T 1281-2013 燃煤电厂固体废物贮存处置场污染控制技术规范
- 市政道路及设施零星养护服务技术方案(技术标)
- 环保应急措施(初期雨水收集池及事故管网二期)施工图设计说明
- ISO27001:2022信息安全管理手册+全套程序文件+表单
- 中层管理人员竞聘试题大全
- 企业诚信承诺书模板(2篇)
- 王者荣耀各英雄各项初始、满级属性-成长值
- 大国工匠课件
- 智慧光伏电站运维服务项目售后服务与培训方案
评论
0/150
提交评论