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

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

楼主:zl☕? [2级] · 2020-5-16 ·  浏览1642 · 编程源码 · 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级]

楼更细节:

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

目标网站bilibili.cx
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

1、分析
网站为传统型网站,一页显示60张图片,分页使用get请求,每点击下一页page字段加1
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

经测试首页展示的图片url为缩略图,不是大图
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

吃完饭再更
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

缩略图url为:

https://pximg.saimoe.co/c/360x360_70/img-master/img/2013/06/01/01/17/12/36066166_p0_square1200.jpg

大图url为

https://pximg.saimoe.co/img-master/img/2010/10/21/00/12/41/14011448_p0_master1200.jpg

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

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

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

回复列表

  • 内容加载中...

说点什么...

秋思✨✨ [3级]

前排
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

挺眼熟的哈
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

到此分析完毕,开始码代码!
发布于2020-5-16

回复列表

  • 内容加载中...

说点什么...

zl☕? [2级]

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

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

测试加上请求头后访问正常
发布于2020-5-16

回复列表

  • 内容加载中...

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