前不久博主在爬取图片的过程中,又遇到了一个新问题:
图片出现了blob:https+地址的格式, 使用requests库访问这个网址,会发现是无法得到图片内容的。
搜索了一番后,这类blob原来全称是二进制大型对象(Binary Large Object),表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,格式比较灵活,一方面适合实时加载(常常见于视频文件),一方面可以有一定反爬效果。
但破绽也是有的:当浏览器识别了blob对象后,会向服务器请求真实的文件地址。
对于此类图片,我们只需查看其真实请求到的文件网址即可。
步骤:
- 把开发者工具从元素切换到网络
- 选择筛选XHR
- 在下面列表中找到像是图片的文件元素(在这里是后缀有jpg)
- 点击,找到它的请求url,就是目标网址
得到目标地址后,直接爬取就得到图片了。
前面讲过分享代码,但我又想发到git上,结果不晓得咋整,后来搁置了。Anyway,下一章将会接着前面selenium库加上多进程的内容,喜欢的小伙伴可以点赞关注下!!
CSDNhttps://mp.csdn.net/mp_blog/creation/editor/120709680(往期关于selenium翻页以及防反爬)