[python爬虫]requests库 1

requests库在爬取数据的过程中久负盛名,很多网站上评论说比urllib, urllib2不知道高到哪个地方去了,那么这篇文章呢,主要是想要总结一下requests库的基本用法,当然,如果有可能的话,我在来进行一下实践操作~ 首先当然需要在命令行中安装requests库: pip install requests 发送我的第一个请求: import requests r = requests.get(’https://api.github.com/events’) 通过这么简简单单的几步操作,我们就轻而易举的将这个网站所有的内容存放到r这个变量当中了,有没有很简单,当然我们可以通过以下几个实例来看看如何通过request进行post,put,delete,head,options等等诸如此类的操作,说到这儿,我认为有必要为大家介绍一下什这些操作到底是什么: 这些功能统称为HTTP的请求方法 GET: GET请求会显示请求指定的资源。一般来说GET方法应该只用于数据的读取,而不应当用于会产生副作用的非幂等的操作中。GET会方法请求指定的页面信息,并返回响应主体,GET被认为是不安全的方法,因为GET方法会被网络蜘蛛(就是我们)等任意的访问。 HEAD: HEAD方法与GET方法一样,都是向服务器发出指定资源的请求。但是,服务器在响应HEAD请求时不会回传资源的内容部分,即:响应主体。这样,我们可以不传输全部内容的情况下,就可以获取服务器的响应头信息。HEAD方法常被用于客户端查看服务器的性能。 POST: POST请求会 向指定资源提交数据,请求服务器进行处理,如:表单数据提交、文件上传等,请求数据会被包含在请求体中。POST方法是非幂等的方法,因为这个请求可能会创建新的资源或/和修改现有资源。 PUT: PUT请求会身向指定资源位置上传其最新内容,PUT方法是幂等的方法。通过该方法客户端可以将指定资源的最新数据传送给服务器取代指定的资源的内容。 >>> r = requests.post(‘http://httpbin.org/post’, data = {‘key’:’value’}) >>> r = requests.put(‘http://httpbin.org/put’, data = {‘key’:’value’}) >>> r = requests.delete(‘http://httpbin.org/delete’) >>> r = requests.head(‘http://httpbin.org/get’) >>> r = requests.options(‘http://httpbin.org/get’) 这里也许就有人会问; 后面的data的内容到底是什么呀,其实这就是我们要post或者put上去的内容啊,就相当于传输文件一样,这甚至有可能是我们要传输的文件路径,在使用amazon watson一些服务,比如图片识别等方法,你要写一个python的程序需要用到这个服务,那么这就是再好不过的方法了,你只需把他给你的网址拷贝下来,按照他的格式通过这些请求来进行编程,不过这些都是后话了。 向URL传输参数: 我们向url传输参数(比如用户名,密码)有一个很直观的方式,那就是在网址的‘?’后面加入你要传输的参数,比如  httpbin.org/get?key=val […]