全方面的掌握Requests库的使用【python爬虫入门进阶】(02)

全方面的掌握Requests库的使用【python爬虫入门进阶】(02),第1张

上一篇文章简单的介绍了 爬虫相关的基础知识点,介绍了一个标准爬虫程序的三个步骤 。这篇文章就让我们接着来学习。

本文重点介绍requests库的使用以及爬虫协议。之前也写了一篇 Requests库使用的博客 ,有兴趣的小伙伴可以去看看。

前面介绍了Requests库是用来抓取网页源码,请求接口的利器,整体上是要比urllib库的request更加好用的库。官网上将其称之为唯一一个非转基因的Python >

对于只是读取某几个网站更新内容的爬虫完全没必要在python代码中实现增量的功能,直接在item中增加Url字段。 item['Url'] = responseurl 然后在数据端把储存url的column设置成unique。 之后在python代码中捕获数据库commit

  import requests

  base_url = '>

上一期已经成功安装了requests模块,并简单的使用了requests,本期,我们将详细介绍requests模块

直接使用requestsget()方法即可

其中内容将通过requeststext查看

将get()方法,改为post()即可

其中需要提交的内容,通过data参数传入

url参数,也即跟在地址后的后的一串内容

我们可以直接通过url地址将其构造出来

也可以通过params参数,传入一个字典使用

可以看出,地址同样被自动构造为

这是一种更加容易的传入参数的方法,可以不需要使用

我们得到了一个对象r,这是一个requestsmodelsResponse对象

使用rtext可以得到响应内容

其中解码方式是requests自行猜测的,它会把猜测的结果保存在rencoding中

使用rencoding可以得到或者改变编码方式

如果使用rtext得到的内容不正确,可以手动修改rencoding,然后再使用rtext输出内容

如果不知道正确的编码,可能有人会建议你使用chardet模块来进行编码的测试(该模块需要使用pip安装,目前版本也会随安装requests附带)

使用方法:

事实上,现在的requests已经使用了chardet模块,但你仍然可以将chardet用于其他时候使用

使用rcontent可以得到二进制的响应内容

使用rjson()可以得到json的响应内容

给headers参数传入一个字典即可

如同之前你预想的那样,user-agent会被修改为lsp

通过rstatus_code可以查看状态码

通过rheaders可以查看响应头

通过rraise_for_status()可以在状态码为不正常的时候抛出异常

在请求中添加timeout参数,即可让你的程序在指定的时间内没有得到响应就抛出异常

通过rurl可以查看到请求地址

通过rhistory可以查看到重定向

通过修改allow_redirects参数为False可以禁止重定向

例如禁止github进行重定向

以上就是关于全方面的掌握Requests库的使用【python爬虫入门进阶】(02)全部的内容,包括:全方面的掌握Requests库的使用【python爬虫入门进阶】(02)、python爬虫post请求中的data参数怎么接受json格式的list、爬虫小白问个不知道关于scrapy爬取json动态生成列表的问题!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9731433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存