前不久博主在爬取图片的过程中,又遇到了一个新问题:

某个加强后的图片网站
图片地址不再是我们熟悉的http(s)://

图片出现了blob:https+地址的格式, 使用requests库访问这个网址,会发现是无法得到图片内容的。

搜索了一番后,这类blob原来全称是二进制大型对象(Binary Large Object),表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,格式比较灵活,一方面适合实时加载(常常见于视频文件),一方面可以有一定反爬效果。

但破绽也是有的:当浏览器识别了blob对象后,会向服务器请求真实的文件地址。

对于此类图片,我们只需查看其真实请求到的文件网址即可。

 步骤:

  1. 把开发者工具从元素切换到网络
  2. 选择筛选XHR
  3. 在下面列表中找到像是图片的文件元素(在这里是后缀有jpg
  4. 点击,找到它的请求url,就是目标网址

得到目标地址后,直接爬取就得到图片了。


前面讲过分享代码,但我又想发到git上,结果不晓得咋整,后来搁置了。Anyway,下一章将会接着前面selenium库加上多进程的内容,喜欢的小伙伴可以点赞关注下!!

CSDNicon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/120709680(往期关于selenium翻页以及防反爬)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐