架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 28276|回复: 11

[JavaSE] 刚用Java写的爬虫,现在只有下载图片功能(深度1),会继续完善

[复制链接]
发表于 2015-6-3 02:38:12 | 显示全部楼层 |阅读模式
如题
QQ截图20150603023523.png

crawler.rar

62.53 KB, 下载次数: 5, 下载积分: 威望 -1 点, 贡献 -1 点

售价: 2 粒MB  [记录]





上一篇:有知道asp.net的web容器有那些的不?除了iis
下一篇:linq中去除重复数据并返回集合
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-3 21:05:36 | 显示全部楼层
不依赖其他包的简单实现

  1. package test;

  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.net.MalformedURLException;
  6. import java.net.URL;
  7. import java.util.regex.Matcher;
  8. import java.util.regex.Pattern;

  9. import javax.imageio.ImageIO;

  10. public class Test {
  11.         public static void main(String[] args) {
  12.                 String web="http://www.itsvse.com/";
  13.                 try {
  14.                         URL url=new URL(web);
  15.                         InputStreamReader reader=new InputStreamReader(url.openStream());
  16.                        
  17.                         StringBuilder builder=new StringBuilder();
  18.                         char[] buff=new char[1024];
  19.                         int n;
  20.                         while((n=reader.read(buff))!=-1){
  21.                                 builder.append(buff,0,n);
  22.                         }
  23.                        
  24.                         Pattern pattern=Pattern.compile("<img.*?src="(.*?)(gif|png|jpg)"");
  25.                        
  26.                         Matcher m=pattern.matcher(builder);
  27.                         while (m.find()) {
  28.                                 String u=m.group(1)+m.group(2);
  29.                                 System.out.println("dowing.."+u);
  30.                                 URL img=null;
  31.                                 if(u.startsWith("http")){
  32.                                         img=new URL(u);
  33.                                 }else{
  34.                                         img=new URL(url,u);
  35.                                 }
  36.                                 ImageIO.write(ImageIO.read(img), m.group(2), new File("D:/img/"+System.currentTimeMillis()+"."+m.group(2)));
  37.                                
  38.                         }
  39.                        
  40.                 } catch (MalformedURLException e) {
  41.                         // TODO Auto-generated catch block
  42.                         e.printStackTrace();
  43.                 } catch (IOException e) {
  44.                         // TODO Auto-generated catch block
  45.                         e.printStackTrace();
  46.                 }
  47.         }
  48. }
复制代码
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-4 19:19:48 | 显示全部楼层
Delver_Si 发表于 2015-6-3 23:57
你这原始代码开发效率太低,差评

本来我不想说什么,但是你说开发效率低下。。。。。

程序要求的是代码的质量和性能,洋洋洒洒一大片,最后却功能少,拓展能力差,性能也差

QQ截图20150604191444.png
连续跑10次 每次忽略网络延迟,,忽略本地保存,只计算解析html文档的时间,你的程序差远了。
另外你的代码还存在错误,我就不说什么了
QQ截图20150604191502.png
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-3 13:00:52 | 显示全部楼层
Delver_Si 发表于 2015-6-3 12:57
研究得怎么样了?

没有安装eclipse大体用记事本看了一下  先抓取网页html源代码  然后获取src后面的值  然后保存  大体看的是这样   

不知道对不对  
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-3 07:49:23 | 显示全部楼层
png格式的图片能抓取吗?
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2015-6-3 10:17:34 | 显示全部楼层
小刀飞刀飞飞飞 发表于 2015-6-3 07:49
png格式的图片能抓取吗?

能啊,我现在没判断后缀,全部保存为jpg,其实png的图片改成jpg后缀一样可以打开,后缀我会完善的
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-3 12:52:13 | 显示全部楼层
让我来研究研究
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2015-6-3 12:57:13 | 显示全部楼层

研究得怎么样了?
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2015-6-3 13:05:27 | 显示全部楼层
小渣渣 发表于 2015-6-3 13:00
没有安装eclipse大体用记事本看了一下  先抓取网页html源代码  然后获取src后面的值  然后保存  大体看的 ...

是这样的
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-3 21:12:09 | 显示全部楼层
microxdd 发表于 2015-6-3 21:05
不依赖其他包的简单实现

这是非逼我要安装myeclipse的节奏啊!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2015-6-3 23:57:27 | 显示全部楼层
microxdd 发表于 2015-6-3 21:05
不依赖其他包的简单实现

你这原始代码开发效率太低,差评
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-16 12:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表