一,简介
Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
因为需要我要爬取数据,结果发现单独 jsoup 只能解析静态的html 文件,对于动态的js加载的HTML 无法获取,这就有很大的局限性。但是一般也只是把jsoup 当作一个解析HTML的工具,不用它来爬取数据,如果需要爬取动态数据,则要配合其他 插件去完成(emmm 目前没有接触到 只知道可以用 )
emm 我只是简单了解了一下 就不再这里班门弄斧 了
二,获取网站的图片
1.要想使用jsoup 必须引入jar 包。
jsoup(一般有版本号).jar (如果找不到资源可以去问万能的度娘 只要你花时间,肯定会找到的)
2.使用 code= Jsoup.connect(url).execute().body(); 获得网站的源码 (url 为你需要的网站地址)
定义一个 Document 对象 doc,使用Jsoup.parse(code) 将url 转换为 Document对象,通过该对象
获取元素:
主要方法:
doc.getElementById("id名“) 一般都是唯一的 所以获取的只有一个元素
doc.getElementsByTagName() 通过标签名获取元素 一种标签在HTML中可以有多个,所以获取到的是多个元素,且返回是以集合的形式返回
doc.getElementsByClassName() 是通过类名来获取元素,同名的类在HTML中也能存在多个,所以获取到的也是多个元素,同样是以集合的形式返回
3.获取图片的地址
一般图片地址都是存储在 img 标签的 src 当作,可以创建一个list 集合 ,将src中的数据读取存储
将获取的img 存储到 Elements 类型的变量当中,通过遍历变量来获取 src:
elements.get(i).attr("src")
4.存储图片
将获取的地址存储(改为byte数组 ),并在本地保存。