【图片抓取】002-简单一览

【图片抓取】002-简单一览

[toc]html

项目目的

经过示例项目,初步接触spring boot,maven等经常使用工具,熟悉经常使用JAVA环境;使用经过httpclient获取美食杰html数据,使用jsoup来解析html数据并抓取处理目标数据。java

流程图示意

截图

  1. 读取配置,本章节示例中暂不读取配置;
  2. 使用httpclient读取html页面内容,使用jsoup解析页面内容;
  3. 处理步骤2中的内容,本章节中直接保存为文件;
  4. 判断是否继续解析,真实应用中大部分不会一次只读取一个url,本次示例只解析一次。

类图示意

截图

  • Application main方法启动,主逻辑实现。
  • IProcesser 目标document处理接口。
  • DefaultProcesserImpl IProcesser实现类。
  • HttpUtils Http处理类。

主要步骤

截图
示例中会经过咱们的代码获取上图中红色标记的图片并保存在本地;jquery

  1. 寻找目标;用浏览器打开网址http://www.meishij.net/zuofa/ganzhematitiantang_1.html(建议使用chrome),而后打开浏览器的开发者工具快捷键F12截图在窗口中选中elements页面,而后经过元素选择器选中目标图片,html代码会自动跳到图片的html代码;
  2. 编写jQuery选择器;此时咱们已经找到目标的html代码,如今开始找到代码能识别的规则来获取数据,jsoup支持jquery选择器规则,咱们能够作惟一测试,

截图;在开发者工具console行里实验经过$(".cp_headerimg_w img")获取的元素长度为1,既经过.cp_headerimg_w img就能够直接获取咱们的目标图片位置;git

  1. 最总咱们经过如下代码咱们就能够完成处理;

截图
本次示例只是简单找到目标,保存目标。具体代码可参考示例代码git地址,如今其实还有不少可优化改进的地方,下次咱们继续。github

HttpClient

简单说来就是如今互联网上通讯http协议应用比较普遍 别人都用,爱用不用,扩展性好;另外java原生包提供基本的http功能,可是很差用,因此产生了HttpClient工具包。
HttpClient支持标准Http1.0/1.1;支持get,post,put,delete,head等http方法;支持https;支持http代理等等;基本上你能想到的关于http的特性,它都支持。
在本示例中,简单使用httpclient来获取html页面字符串内容,后面示例会使用HttpClient的多线程,以及线程池功能。spring

jsoup

jsoup可以把html的文本内容解析成html Document,经过相似jQuery选择器的用法,能方便的找到想要html内容。示例中要识别出http地址中的图片地址。
TODO 配合美食节页面, 浏览器查找截图简单说明jQuery selectorchrome

其它

注意

若是刚开始使用maven基本都会遇到一些问题:apache

  • maven编译慢,其实都是第一次慢,由于要下不少依赖包,最好经过配置maven国内镜像,可参考001-JAVA 基础环境
  • 编译莫名奇妙失败,能够经过确认C:\Users\xxx\.m2\repository目录下,是否存在pom依赖,或者把对应的依赖删掉从新maven编译下,

例如截图依赖是groupid:org.jsoup,artifactid:jsoup,则对应的jar目录是截图,既C:\Users\[xxx]\.m2\repository\[groupid]\[artifactid]\[version],指删掉该依赖便可,不要全删掉repository,否则其它jar也要从新下。segmentfault

相关文章
相关标签/搜索