python3爬虫系列02之urllib库:根据关键词自动下载百度图片

python3爬虫系列02之urllib库:根据关键词自动爬取下载百度图片

上一篇文章介绍了整个 爬虫的基本架构 一文,后面的文章就开始实战环节了。

【其实中间应该还可以说两篇,关于抓包的,一个是浏览器的F12审查元素,一个是使用Fiddler软件抓App的包。但是过于基础,后面有需要再写吧。】

实战系列呢,会从最初代的爬虫方式一直写到现在的分布式爬虫框架scrapy,而且源码都会给出。

当然,这个系列也是作为本人入门爬虫的记录,因此文中有很多不足之处,欢迎补充。

废话不多说,开始搞起。

开发爬虫的步骤大概就是这样的:

【值得注意:在Python2中是urllib和urllib2被在Python3中urllib.request和urllib.parse替代。】

图示:

URL分析:

(在这里你会看到,明明在浏览器URL栏看到的是中文,但是复制url,粘贴到记事本或代码里面,就会变成如下这样)

所以!这里要补课了~~

在很多 站的URL中对一些get的参数或关键字进行编码,所以我们复制出来的时候,会出现问题。

URL的编码与解码(*重要)

源码:

运行结果:

所以可以看出通过这个 址查找特定的关键词的图片,所以理论上,我们可以不用打开 页就能搜索特定的图片了。

下个问题就是如何实现自动下载,其实利用之前的知识,我们知道可以用爬虫,获取图片的 址,然后把它爬下来,保存成.jpg就行了。

2.分析目标(分析 页源代码)

好了,我们开始做下一步,目前百度图片采用的是瀑布流模式,动态加载图片,处理起来还是比一期麻烦。

https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=4227600235,3494152792&fm=26&gp=0.jpg

然后在当前 页的空白地方右键:查看 页源代码

通过分析可以知道,前面两个是缩小的版本,hover是鼠标移动过后显示的版本,objURL对应的那个地址,应该是我们需要的,不信可以打开这几个 址看看,发现obj那个最大最清晰。

好了,找到了图片位置,我们就开始分析它的代码。我看看是不是所有的objURL全是图片。


好了,上述就是今天的python爬虫系列02之 urllib使用:根据关键词自动爬取下载百度图片。

当然不只能下载百度的图片拉,依葫芦画瓢,应该做很多事情了,比如爬取头像,爬淘宝展示图,或美女图片。当然,作为爬虫的第一个实例,虽然纯用urilib.request已经能解决很多问题了,但是效率还是不够高,如果想要高效爬取大量数据,还是用其他的,后面一篇介绍requests库的爬取方式requests库。


参考地址:

https://www.jianshu.com/p/9ddb2f89ec7c
https://www.jianshu.com/p/19c846daccb3

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树 络爬虫urllib211385 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月28日
下一篇 2019年10月1日

相关推荐