当前位置:网站首页 > 技术博客 > 正文

java怎么写爬虫软件



本文将手把手地教大家从零开始用Java写一个简单地爬虫!

目标

爬取全景网图片,并下载到本地

收获

通过本文,你将复习到:

说明

爬虫所用的HTM解析器为Jsoup。Jsoup可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

Jsoup相关API整理见文末附录一。

开始

一、前端分析

1、使用Chrome或其他浏览器,打开全景网,按F12进入调试模式,分析网页结构。(这里选的是“创意”=>“优山美地”)

2、找规律,看图片对应的结构是什么。可以发现,每个图片的结构都如下图红框所示。

3、找到结构后再找图片链接。进一步分析后发现,图片链接可以是下图红框部分。

4、复制到浏览器打开看看验证下。(好吧,访问这个URL直接给我下载了...)

5、前端部分分析完毕,接下来就可以用Java编码了!

二、爬取思路

通过Java向全景网发送GET请求,以获取HTML文件。Jsoup解析后寻找class=item lazy的a标签,他的child节点(即<img>)就是我们要找的目标节点了,搜索到的应当是一个ArrayList。然后遍历集合,从中搜寻图片的URL,并下载到本地保存。(更深一步,可以下载完一页后,继续下载后一页,直至全部下完。本文直讲下载第一页。提示一下,链接后面的topic/1其实就是当前页数)

三、Java编码

1、先下载Jsoup jar包,并导入到IDEA工程中。

2、新建Java工程。

3、简单测试下get请求,若请求成功,则进入下一步;若报错,检查URL是否带了中文。

4、寻找class为item lazy的元素,找到他的child节点,返回ArrayList。并将图片的URL单独提取出来。

5、我们先尝试用Jsoup下载一张图片试试效果。

可以看到在当前工程路径下,生成了demo.jpg图片,并且显示正常!

6、接下来,我们要创建一个文件夹,用来专门存放图片。

File相关API整理见文末附录二。

7、接下来开始遍历图片并下载。由于图片较多,为了简单起见,我们保存图片时候的名称,就从1开始依次增吧。

运行结果

到此编码部分也结束了,完整代码见文末附件三!

附录一

Jsoup(HTML解析器)

附录二

File类

附录三

完整代码

版权声明


相关文章:

  • 有些进程只包含一个线程对吗2024-12-18 11:30:04
  • 数据库一对多是什么意思2024-12-18 11:30:04
  • scanf函数格式2024-12-18 11:30:04
  • centos7远程桌面连接2024-12-18 11:30:04
  • 接口设计怎么写2024-12-18 11:30:04
  • 指针数组是什么2024-12-18 11:30:04
  • was配置文件2024-12-18 11:30:04
  • css各种字体2024-12-18 11:30:04
  • 窄带物联网中窄带是什么意思2024-12-18 11:30:04
  • swing技术2024-12-18 11:30:04