网页图片下载系统

一、项目简介

       对网页中的图片实现抓取下载功能,实现多个网址同时下载功能,实现下载信息查询功能,并将所有功能图形界面化。

二、项目采用技术

流,文件的操作

NetBeans图形界面设计

三、功能需求分析

1.系统实现用户输入网址,网址图片抓取及抓取信息查询。

2.简单模型

四、项目亮点

1. *MVC模式与面向对象设计

2. *下载网页中的图片:

2.1使用到的技术:

流、文件操作

2.2难点:

在读取图片,要对图片的存储大小进行判断,用输入流的available()方法是不正确的

2.3解决办法:

使用 ByteArrayOutputStream可以实现对流的重复读取

2.4关键代码截图:

3. *多个URL启动多个线程同时进行抓取

3.1采用的技术:

多线程

3.2难点:

该在哪个代码块是用多线程以及该如何规划包名

3.3解决方法:

类比应用商店下载软件,参考了BourceThread

3.1关键代码截图:

4. 匹配网页中的图片字符串

4.1采用的技术:

     正则表达式的构造、模式与匹配器

4.2难点:

     对图片中的图片字符串进行匹配

4.4关键代码截图:

 

5.网页存在检测方法

设置请求方法,向网页发送请求,获取网页响应的状态码进行判断

关键代码:

6.图片界面实现

1.1使用NetBeans进行图形界面设计。

1.2根据代码实现功能,将图片界面分三部分,第一部分系统,第二部分信息查询,第三部分界面切换

1.2.1整个系统

总体由两个JPanel构成。使用BorderLayout布局将界面划分为两个区域。

mainPanel含有系统与信息查询两个Panel,使用CardLayout布局用于实现界面切换

jPanel3为界面切换Panel,使用FlowLayout布局使得组件按照先后加入顺序及设置的对齐方式从左到右排列,使按钮排列有序

1.2.2系统

系统界面由3个JLabel,2个JTextField,2个JButton构成。

3个JLabel显示文字提示

2个JTextField用于获取用户输入

2个JButton分别用于抓取按钮,退出按钮。

关键代码:

抓取按钮Action

退出按钮Action

1.2.3信息查询

信息查询界面由3个JLabel,1个JTextField,2个JButton构成

3个JLabel分别用于信息提示、信息展示、信息展示

1个JTextField用于获取用户输入

2个JButton用于查看下载图片个数按钮和查看下载路径按钮。

关键代码:

查看下载图片按钮Action

查看下载路径按钮Action

1.2.4界面切换

界面切换由2个Button构成

2个Button分别分系统按钮、信息查看按钮

关键代码:

系统按钮Action

信息查看按钮Action

五、项目系统演示

视频展示链接:https://live.csdn.net/v/268339

六、团队成员负责模块

                    项目成员

                                        负责任务

林金楠(组长)

                                匹配网页中的图片字符串

                                          下载网页图片

                                           面向对象设计

MVC模式

多个URL启动多个线程同时进行抓取

周伟垲

图形界面实现

网页存在检测方法

部分代码规范

七、git地址及成员提交记录 

1.git地址:https://gitee.com/jmu-chowhound/java-learn-j.git​​​​​​

2.成员提交记录:

林金楠(组长):

周伟垲:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值