我是靠谱客的博主 安静蜻蜓,最近开发中收集的这篇文章主要介绍tenliu的爬虫(2)-python库urllib、urllib2、requests关系开篇语python爬虫,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#更多内容请访问我的个人博客www.tenliu.top

开篇语

抓取始终是一个很大的需求,小到单个页面,某个站点,大到搜索引擎(百度、谷歌)的全网抓取。
只要人能看到的东西,理论上都是爬虫可以获取的。不论静态页面还是动态页面。也不论pc端的页面还是移动端的app。
话有点大,但这就是本系列的目的。
爬虫编程,有很多语言可选,python、php、go、java···甚至是c。这里我们选择python作为爬虫的编程语言,因为它简单易上手,并且节约生命。

python爬虫

这里需要声明的是以下的教程都是基于python2.7的,python3已经有很大的变化了。
不了解python如何开始我们的爬虫呢?随便找个python教程,花五分钟时间看一下基本语法,就可以回来继续我们的爬虫之旅。
python中可以用来做爬虫的库也有很多,比较常用的是urllib、urllib2和requests,这三个库基本可以解决大部分抓取需求,我们也将从这里开始学起。
很多人做了一段时间的爬虫了,也不是很清楚这三者的关系,用这个库的这个方法也可以,那个库的那个方法也行,区别是啥,很容易混淆。所以下面我们对这三个库的关系和区别有一个清晰的认识。

urllib、urllib2、requests关系

urllib和urllib2是python标准库,就是你安装了python,这两个库就已经可以直接使用了;requests是第三方库,不是python基金会实现的,但是功能是很强大的。

urllib和urllib2

我们先说这两个标准库,这两个库做爬虫也基本够用了,不用requests也是可以的。

  • urllib和urllib2都是通过url打开资源,其中urllib短板是在太大,例如它只能接受url,却如法对请求进行headers的伪装,这样写的爬虫发送的请求会被很多网站直接阻挡掉。
  • 因此python基金会不得不推出urllib2对这块功能进行增强。urllib2可以接受一个Request对象,并以此设置一个URL的headers。
  • 但是问题在于urllib2并没有完全取代urllib的所有功能,比如urllib中的urlencode()方法,在urllib2中就是没有的。所以urllib和urllib2不得不一起使用。

requests

urllib和urllib2是够乱的吧,使用时还要考虑url编码等等问题。第三方库requests出现了,它的slogen是Requests is the only Non-GMO HTTP library for Python, safe for human consumption.相对于标准库urllib、urllib2也确实有资格说这句话。
以上
基础的东西(urllib、urllib2、requests)我们还是要了解的,在这个过程中知道爬虫是怎么回事,以后再使用其他库、框架、搞分布式什么的
#更多内容请访问我的个人博客www.tenliu.top

最后

以上就是安静蜻蜓为你收集整理的tenliu的爬虫(2)-python库urllib、urllib2、requests关系开篇语python爬虫的全部内容,希望文章能够帮你解决tenliu的爬虫(2)-python库urllib、urllib2、requests关系开篇语python爬虫所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部