爬虫学习笔记(三)requests模块使用

2018-01-06 分类:爬虫 阅读(1580) 评论(0)

前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了。

这篇博客说一下requests模块的使用,requests模块是python的一个第三方模块,它是基于python自带的urllib模块封装的,用来发送http请求和获取返回的结果,操作很简单。

requests模块是第三方模块,不是python自带的,需要安装才可以使用。

requests模块用法

 

http权限认证

有一些网站,比如说下载东西的时候有http的权限验证,没有验证话就返回401 请求未经授权这种错误的。一般都是需要http权限验证,下面是怎么添加http权限验证。

当然这个http权限认证是http本身的,和你那些登陆请求那些不一样,比如说你要调一个登陆接口,传入的账号密码,和那个不是一回事,要区别开。

举个例子呢就是商场的大门上的锁就是这个http权限验证,这个锁是人家商场的,而你的店铺的锁才是你登陆接口,你输入的账号密码。一般你一打开一个网站直接弹出来一个窗口让你输入账号密码,你都看不到页面,这种就是http权限验证。而那种你打开网站之后,直接就能看到页面,你要登录的时候,输入账号密码然后点登录的,这种的就是正常的登陆请求。这种http权限验证的比较少见。

http会话保持

什么是会话保持,就是有一些操作需要登录之后才操作的,你得先登录,然后才能做其他的操作。那咱们做的时候怎么做,先发送登陆的请求,获取到登录的cookie信息,(因为登录之后它的身份验证信息都是放在cookie里面的),然后把cookie传给下一个你要请求的url,这样就ok了,看下面代码。

正常的话咱们要这么做,requests模块给咱们提供了更简单的方式,就是使用requests.session这个方法,它会自动帮咱们管理cookie,不需要咱们自己再获取到登陆的cookie,传给创建文件的请求,代码如下:

http代理设置

我们在写爬虫的时候,如果都用同一个ip访问多次访问某个网站,经常ip会被封,这样我们就访问不了了,那怎么解决呢,就得用ip代理了,代理的意思就是咱们把请求先发到代理上,然后再由代理帮咱们把请求发送出去,这样最终访问网站的ip就不是咱们自己的ip了。网上代理有很多,大多数收费的代理网站上每天都会有几个免费的代理,我先从https://www.kuaidaili.com/free/inha/ 这个里面找了几个免费的代理,设置代理的代码如下

 

 

您可能也喜欢:

爬虫学习笔记(十)scrapy入门,使用scrapy爬取猫眼电影top100

上面篇博客说了scrapy的流程,这次先做个小项目,爬取到猫眼电影排行榜前100的电影名称、评分、上映时间、主演,存储到mongodb里面。再做这个项目的过程中,来学习scrapy各个组件的用法。 需要把mongodb装好,启动,linux下不会装的可以在我的博客里面搜一下mongodb,有教程,W...

more

爬虫学习笔记(九)scrapy爬虫框架流程介绍

Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 当然用咱们前面学的requests、正则表达式、selenium、Beautiful Soup、lxml等等的也可以爬取到数据,代码量也不大。为什么还要用scrapy呢,因为scrapy框架封装了...

more

爬虫实战,selenium爬取斗鱼吃鸡所有主播信息和人气

吃鸡很火,咱们爬下斗鱼的网站,把所有的刺激战场的主播和人气爬下来,存到excel里面,初步做个分析,网站是 https://www.douyu.com/g_jdqscjzc。 咱们大致浏览一下这个网页,发现它的数据都是动态加载的,把网站的js禁用了之后,页面上基本上没啥东西了。 禁用javaScri...

more

评论&留言
欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称

登录

忘记密码 ?

切换登录

注册