小白兔一直想学习 Java,在它学习了一些 Java 知识后,想通过 Java 来完成实际操作,但是还不是很懂,于是它询问了这方面的大牛——大牛哥。
小白兔:“我打算在某当网买几本畅销书,想找一些畅销书封面。可是花了很长时间,用 Java 有比较快的方法吗?”
大牛哥:“可以用 Java 通过‘网络爬虫’来爬取图片。‘网络爬虫’是一种能够按照一定规则,自动爬取互联网数据的计算机程序。编写网络爬虫时主要用到网络通信技术、多线程并发技术、数据交换技术、HTML 等 Web 前端技术、数据解析技术和数据存储技术等。”
大牛哥:“那我来教你用 Java 攻克网站图片爬虫项目,让你从青铜变为王者。”
01
青铜级:爬取数据
小白兔:“牛哥,说到“青铜级:爬取数据”,说明“爬取数据”是最基础的第一步。什么是‘爬取数据’呢?”
大牛哥:“‘爬取数据’就是利用网络通信技术从网站上爬取 HTML 等数据。我演示一下青铜级的 Spider 类代码。”
上下滚动查看更多
小白兔:“谢谢牛哥,我明白‘爬取数据’了!”
02
白银级:解析数据
小白兔:“那我们下面要‘解析数据’了吧?”
大牛哥:“对,通过解析爬取的数据,就可以找到感兴趣的内容。现在我们要找到畅销书 png 或 jpg 格式的图片所在的地址。”
(使用浏览器查看的网站 HTML 代码)
大牛哥:“可以使用‘正则表达式’,如果你觉得不方便,也可以使用 jsoup 第三方库。jsoup 库使用 DOM 模型或 CSS 模型来分析 HTML 代码。我演示一下使用 jsoup 库解析 HTML 数据的 Spider 类代码。”
上下滚动查看更多
大牛哥:“使用 jsoup 库不需要额外爬取 HTML 数据,只需要指定 URL 网址获得文档对象,就可以解析 HTML 数据了。”
小白兔:“哇,使用 jsoup 库解析 HTML 数据的过程真是太简单了!”
03
黄金级:存储数据
大牛哥:“那我们下面要‘存储数据’了。根据解析得到的网址,从网络上下载图片,然后保存到本地。在一般情况下,爬虫爬取的数据会保存到数据库中,但我们这个项目很特殊,爬虫爬取的数据是图片,当然我们也可以将图片以二进制形式保存到数据库中,但是没有这个必要,我们只需要把它们保存为本地文件即可。我演示一下存储数据的 Spider 类代码。”
上下滚动查看更多
小白兔:“牛哥太厉害了!点赞!!”
大牛哥:“最后的工作至关重要。还有铂金级爬虫:爬虫工作计划和钻石级爬虫:最终修炼完成两项。”
小白兔:“具体怎么操作呢?”
大牛哥:“欲知后事如何,请看《漫画Java》!具体操作都在里面。看这本书可以轻松入门 Java ,掌握实际案例!”
小白兔:“市场上讲解 Java 的书挺多的,为什么要看这本呢?“
大牛哥:”市场上 Java 书大多是循规蹈矩地讲授 Java 知识点,讲授方式枯燥无趣,初学者不容易看进去。这本书就不一样,用漫画的形式生动形象地讲解 Java,可读性很强。”
作者:关东升,赵大羽
内容简介
小白兔:“这本书讲了什么内容呢?”
大牛哥:“这本书以漫画的形式介绍了 Java 语言的相关知识。全书共 20 章,书中首先介绍了 Java 语言的历史、特点、开发环境、运算符、数据类型、数组、字符串、判断语句、循环语句等基础知识,接着讨论了函数式编程、类与对象、异常、文件操作、集合、图形用户界面、网络通信、多线程等进阶内容,最后通过一个案例向大家介绍如何爬取图片。 刚才给大家演示的就是书中这个案例哦~”
(本书知识图谱)
各章具体内容如下:
第 1 章介绍了 Java 的历史和特点、Java 三大平台和 Java 虚拟机。
第 2 章主要介绍了 Java 开发环境的搭建,包括 JDK 的下载、安装以及配置过程。
第 3 章介绍了 Java 开发工具,使用常用的文本编辑工具编写 HelloWorld 程序,并 通过 JDK 编译和运行 Java 程序。
第 4 章主要介绍了 Java 最基本的语法。
第 5 章介绍了 Java 的基本运算符。
第 6 章主要介绍了 Java 的数据类型。
第 7 章介绍了 Java 的数组。
第 8 章主要介绍了 Java 的字符串数据类型。
第 9 章主要介绍了 Java 的判断语句。
第 10 章主要介绍了 Java 的循环语句。
第 11 章主要介绍了 Java 中面向对象编程的基础内容。
第 12 章主要介绍了 Java 中面向对象编程的进阶内容。
第 13 章重点介绍了 Java 函数式编程。
第 14 章介绍了 Java 的异常处理机制。
第 15 章主要介绍了 Java 文件管理和 I/O 流技术。
第 16 章主要介绍了 Java 访问互联网资源的相关内容。
第 17 章介绍了 Java 中的集合,其中包括常用接口 Collection、Set、List 和 Map。
第 18 章介绍了 Java 中的图形用户界面编程技术 Swing。
第 19 章介绍了 Java 线程技术。
第 20 章介绍了基于 Java 实现的网络爬虫项目。
小白兔:“看起来能学到不少 Java 的知识呀,不过一点基础都没有的小白,能学会吗?”
大牛哥:“当然可以,这本书适合对 Java 感兴趣的所有零基础初学者阅读,包括对编程感兴趣的中小学生,从事编程的大学生以及 Java 编程的从业人员哦!”
本书还有一些特色内容,帮助大家巩固知识点:
- 贴心的“小贴士”
- 幽默的对话
- 总结的重点知识“小结”
- 提高读者动手能力的“实践一下”
- 每章最后配有“同步练习题”
- 同步练习题答案
本书特色
- 本书以漫画讲解,轻松有趣,幽默简单,全书全彩印刷,带大家轻松愉快理解知识。
- 免费提供 300 分钟配套视频、教学课件、软件和源代码,如果书中有不懂的问题,可以一边看视频讲解一边学。
- 20多年从业人员倾力打造,圈内大咖极力推荐。
本书配套资源如下:
作者介绍
关东升 在 IT 领域摸爬滚打 20 年的技术专家。擅长 Java、iOS、软件架构等技术。有丰富的教学和写作经验。参与设计和开发北京市公交一卡通百亿级大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目。近期为中国移动、中国联通、南方航空、中石油、工商银行、平安银行和天津港务局等企事业单位授课。著有《看漫画学Python》、《Java编程指南》和《iOS开发指南》等多部计算机图书。
赵大羽 用户体验设计师,UI 及交互设计专家,企业内训讲师及咨询顾问。为摩托罗拉、上海通用别克、宝洁公司、西门子等企业提供设计服务;为华为、腾讯云、惠普、携程网、咪咕传媒、爱普生等企业提供用户体验及设计咨询服务;著有《品味移动设计》和《交互设计的艺术》;绘制《看漫画学Python》一书的漫画。
大咖和读者推荐
这是我见过的第一本以漫画形式来讲解 Java 基础的图书,它对初学者非常友好,你甚至可以把这本书的内容讲给你的孩子听,真的非常有意思。《漫画Java》在趣味的基础上,把相关概念梳理得条理清晰,逻辑严谨,非常值得一读,期待作者的下一本漫画书!
——cxuan
“程序员cxuan”公众号作者
这是一本栩栩如生的 Java 漫画书,以轻松、愉快、欢乐的学习方式,讲解 Java 中众多的技术知识点,包括:运算符、数据类型、数组、字符串等。书中惟妙惟肖的漫画也为每一个知识点的学习注入了有趣的灵魂,非常适合初学编程的小白。
——小傅哥
“bugstack虫洞栈”公众号作者
《重学Java设计模式》作者
早知道关老师和赵老师在出版 Java 漫画书,当看到了这本书的样章后,我惊叹不已!在我看来,这不是一本计算机图书,而是一本漫画书。在看漫画的过程中不知不觉地掌握了 Java 语言,他们将复杂的技术问题通过漫画形式讲述给读者,这种形式我非常喜欢。
——杨明宇
亚信高级工程师
在学习 C++ 语言之前,我推荐学生先学习 Java 语言,因为 C++ 中的面向对象太难了,而 Java 的面向对象简单而且容易理解。这本书以漫画的形式讲述 Java 知识,有助于学生熟悉编程过程,了解面向对象思想,掌握一些编程算法。
——周铭扬
全国青少年信息学奥林匹克竞赛(NOI)指导老师
精美内页展示
看完这本书,你也可以从青铜变Java王者