首页 > 编程源码 > 爬虫实战,从零开始爬取图片网站使用JAVA

爬虫实战,从零开始爬取图片网站使用JAVA

楼主:zl☕? [2级] · 2020-5-16 ·  浏览1643 · 编程源码 · ID:
感谢小星星提供这么好的目标素材#【悬赏100星币】获取网站图片#

本次爬取图片一万多张,约2个G

0,前言

今日正好没事干,看到有人悬赏,正好练手

1,分析

本次目标网站为bilibili.cx

网站为传统型网站,一页显示60张图片,分页使用get请求,每点击下一页page字段加1

经测试首页展示的图片url为缩略图,不是大图

通过比对分析发现大图与缩略图只是url上细微差别,大图没有c/360x360_70/

通过将大图url直接在浏览器打开发现打开失败,怀疑有反爬策略

针对反爬策略,通过使用postman接口工具将网站请求内容拷贝至postman测试

怀疑是请求头中加入了反爬策略,经过测试后发现请求头中必须有Host与referer字段

测试加上请求头后访问正常

到此分析完毕,开始码代码!

2、代码

爬虫使用java代码

准备工作
要爬的网页内容是html形式不是json数据,所以我们用jsoup工具包

注意:写代码需要循序渐进,将多个功能拆分成小功能,将小功能测试完毕后组转成为整个项目

编写根据图片url保存到本地,注意请求时带上过反爬策略的请求头

解析html,我们根据a标签的class属性来获得图片url

分页,根据page数量分页,网站一次显示60个图片,共有15309张图片,计算得分页256次即可爬完

3、成果

源码兰奏云:
 此处内容已被隐藏,请评论后查看!




爬取的图片百度云:链接:
 此处内容已被隐藏,请评论后查看!


提取码:czmf

图文blog:http://blog.zhaojishun.cn/articles/2020/05/16/1589626238319.html

4、后记

本次爬虫难度较小,目标网站图床使用七牛云cdn服务,本次爬取消耗掉约2G流量,如果目标网站cdn付费,则这次爬虫经历损人利己。

图文图片在下面

楼中我会更新详细细节
- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者zl☕?流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/28882.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
20条回复 |  最后回复于2020-5-16

zl☕? [2级]

注意:写代码需要循序渐进,将多个功能拆分成小功能,将小功能测试完毕后组转成为整个项目
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

2、代码
爬虫使用java代码

准备工作

要爬的网页内容是html形式不是json数据,所以我们用jsoup工具包
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

1、编写根据图片url保存到本地,注意请求时带上过反爬策略的请求头
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

解析html,我们根据a标签的class属性来获得图片url
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

3、分页,根据page数量分页,网站一次显示60个图片,共有15309张图片,计算得分页256次即可爬完
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

爬取过程.
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

后记
本次爬虫难度较小,目标网站图床使用七牛云cdn服务,本次爬取消耗掉约2G流量,如果目标网站cdn付费,则这次爬虫经历损人利己。
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

结束....
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

ALMXA [1级]

其实我觉得用jvav去处理的话更简单
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

张博士肯定觉得这太简单了
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
15人签到
已签0天
  • 46572帖子
  • 1936182热点量
  • 184728火热值