爬虫小记(4)
来源:互联网 发布:手机淘宝历史版本 编辑:程序博客网 时间:2024/06/05 23:46
今天算是把百度图片的爬取程序又自己复习了一遍。
百度的图片是静态加载的,从F12的审查元素中是无法找到对应的图片的下载地址等信息的,因此需要通过抓包的方式来实现对图片下载地址的获取。
需要查看看F12的network中的XHR的内容,里面一般只会有两条JSON的信息,也会有相应的请求地址,通过请求地址可以找到对应的JSON文件,把文件loads下来,图片的下载地址其实就藏在DATA这个键下面。
有很多人都认为百度的图片地址是经过加密的,因此即使找到了这个JSON文件,我们依然只能从中找到加密过的百度下载地址,这个地址是藏在objURL这个键下面的。因此要获得真正的下载地址,需要对这个地址进行解密,网上有对应的解密程序。
我发现在DATA的值里面,还藏有一个备用的下载地址,键名叫做replaceUrl,名字也很明显的表示了他的用途。但是有一点问题需要提到的是,并不是DATA中的每一个量都有replaceUrl这个键,有些是没有的,我花了一早上的时间在这上面,因为我看到了有这个键,当我用这个键从字典中取值时却总是报错,而且还能看到已经取出值了,这就奇怪了,已经取出值了,也看到这个键了,为什么还能报错呢?最后我才想明白,我对DATA里的量进行了遍历,可是有些值中是没有这个键的,因此就会报错,所以我每次取键前都先判断是否有这个键,有这个键我才取值。然后就是这个键里面的另一个字典,里面有一个ObjURL键,这个键里面的值就是我们要的下载地址。
最后存在的一些问题是,有些图片下载不下来,我没能调好下载程序去应对这样的情况,导致有时候会在一张图片上停留很久的时间。另一个问题是我本来是设计了一个可以显示下载进度的程序的,可是现在只能显示下载到100%的情况,理论上他应该是一个由小到大的过程。不过好在这都不是主要程序。
下一步的想法是爬一些视频。两个链接,下一步就从这里开始吧。
点击打开链接点击打开链接
- 爬虫小记(4)
- 爬虫小记(一)
- 爬虫小记(2)
- 爬虫小记(3)
- Python爬虫小记(一)
- Python爬虫小记(二)
- Python爬虫小记(三)
- python 爬虫小记
- [笔记] PhantomJS爬虫小记
- Python + Selenium 爬虫小记
- python爬虫小记
- Python爬虫入门小记
- python 爬虫小记之一
- WebCollector爬虫学习记录(二)jsoup的小记
- 学习小记 - Python爬虫 (3) 利用Python爬取wanimal所有图片
- cheerio node爬虫开发小记录
- 爬虫小记--抓取过程简要分析
- 学习小记 - Python爬虫 (2) 爬虫闯关系列
- 笔试题 7
- 自顶向下,逐步求精的案例
- QA管理:推动开发团队进行测试认证
- hadoop 分布式集群搭建
- git 常用指令
- 爬虫小记(4)
- 【springboot】入门demo
- HMM经典介绍论文【Rabiner 1989】翻译(二)——离散Markov过程
- python 深拷贝与浅拷贝理解
- 算法设计与分析复习(二):算法设计策略-分治法
- 结构化程序设计方法:自顶向下,逐步求精
- php包含文件意思
- 类对日期date的封装
- openstack创建用户时报错Duplicate Entry (HTTP 409)