中国大学MOOC·Python网络爬虫与信息提取_思考小结(一)

来源:互联网 发布:淘宝卖家手机号码采集 编辑:程序博客网 时间:2024/05/01 14:48

一、 关于requests库用法的几个辨析

1.requests库内分七个函数,分别为 request,get,head,post,put,patch,delete,
其中最经常使用的是:get/head 其它的几个例如post,put,patch,delete,由于服务器的限制不能够经常被使用到,因为其更改对象是服务器网址上的内容。

2.而根据requests库的封装方法我们克制,其实例如requests.get(url)的用法其实就==requests.request(‘get’,‘url’)

所以也可以认为整个的request库只有一个函数即request

2.get与head的使用区别
requests.get ==获取网页的全部内容
requests。head==获取网页的头部信息(即概要信息)

当内容很多很庞大时候,使用head可以有效的使得我们在短时间内获取一定的信息

二、requests库的request方法

前文提过,request即总成,是一种可以代替剩下六种使用方法的一个函数。
它的标准形式是requests.request(‘method’,’url’,’**kwarg’)

**kwarg具体有十三种形式,
其中params可以用来改变url的部分参数

这里写图片描述
这里写图片描述

其中重点介绍headers的参数,因为这个参数对于隐藏自己访问一个网站的爬虫身份非常有用

headers代表了对某一个url进行HTTP访问时,本身带有的头部信息,因此通过这个参数可以更改自己的头部信息而使得服务器无法识别你的爬虫访问。具体见第二周爬取亚马逊网站的修改头部信息

介绍一个小用法:如何查看自己发出的访问的头部信息:

用到response对象(它包含了所有访问和返回的信息)
如果你设置的是:
r=requests.get(url)]#r即为返回的response对象
那么它有包含返回的信息如下:这里写图片描述

同时我们也可以使用r.request.headers来查看它进行访问时的一些头部信息
如下:
这里写图片描述

这里我们就把r.request中的request看出我们构建的这个访问对象r中所包含的请求信息

三、一点小建议

如果平常没有用到特定功能就使用类似requests.get()的方法,这样比较方便快捷,而在使用到特定功能时,再使用requests.request()这个方法。可以简单记忆为使用request时候我就应该是要做一点不太普通的事情了(例如修改HTTP访问的agenrt)

同样的其实也可以直接在reques.method(url,‘**kargs’)中直接使用各种加上参数之后的用法,在本质上是一样,那么这样就直接忘掉request函数的用法而记下六个其它函数的用法即可。

只要理解了本质,那么方法的使用就也只是仁者见仁智者见智的不同了

一点浅薄理解,如果有前辈发现文章中的疏漏,望指教

关于reques库具体用法图片见 博文
中国大学MOOC·Python网络爬虫与信息提取(一)
http://blog.csdn.net/xiaotang_sama/article/details/77803521

阅读全文
0 0
原创粉丝点击