Python爬虫的Requests库怎么使用


本篇内容主要讲解“Python爬虫的Requests库怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫的Requests库怎么使用”吧!1、安装 requests 库因为学习过程使用的是 Python 语言,需要提前安装 Python ,我安装的是 Python 3.8,可以通过命令 python –version 查看自己安装的 Python 版本,建议安装 Python 3.X 以上的版本。安装好 Python 以后可以 直接通过以下命令安装 requests 库。Ps:可以切换到国内的pip源,例如阿里、豆瓣,速度快
为了演示功能,我这里使用nginx模拟了一个简单网站。
下载好了以后,直接运行根目录下的 nginx.exe 程序就可以了(备注:windows环境下)。
这时本机访问 :http://127.0.0.1 ,会进入 nginx 的一个默认页面。2、获取网页下面我们开始用 requests 模拟一个请求,获取页面源代码。执行以后得到的结果如下:Ifyouse免费云主机域名ethispage,thenginxwebserverissuccessfullyinstalledandworking.Furtherconfigurationisrequired.Foronlinedocumentationandsupportpleaserefertonginx.org.
Commercialsupportisavailableatnginx.com.Thankyouforusingnginx.3、关于请求常见的请求有很多种,比如上面的示例使用的就是 GET 请求,这里详细介绍一下这些常见的请求方法。4、GET 请求4.1、发起请求我们使用相同的方法,发起一个 GET 请求:返回结果如下:通过返回结果,我们可以看到返回结果所包括的信息有:Headers、URL、IP等。4.2、添加参数平时我们访问的 URL 会包含一些参数,比如:id是100,name是YOOAO。正常的访问,我们会编写如下 URL 进行访问:显然很不方便,而且参数多的情况下会容易出错,这时我们可以通过 params 参数优化输入内容。这是执行代码返回的结果如下:通过返回结果,我们可以看到,通过字典方式传输的参数被自动构造成了完整的 URL ,不需要我们自己手动完成构造。4.3、返回结果处理返回结果是 json格式,因此我们可以使用调用 json 的方法来解析。如果返回内容不是 json格式,这种调用会报错。返回结果:4.4、内容抓取这里我们使用简单的正则表达式,来抓取nginx示例页面种所有标签的内容,代码如下:抓取结果:这里一次简单的页面获取和内容抓取就完成了,4.5、数据文件下载上面的示例,返回的都是页面信息,如果我们想获取网页上的图片、音频和视频文件,我们就需要学会抓取页面的二进制数据。我们可以使用 open 方法来完成图片等二进制文件的下载,示例代码:open 方法中,它的第一个参数是文件名称,第二个参数代表以二进制的形式打开,可以向文件里写入二进制数据。运行结束以后,会在运行文件的同级文件夹下保存下载下来的图片。运用同样原理,我们可以处理视频和音频文件。4.6、添加headers在上面的示例中,我们直接发起的请求,没有添加 headers ,某些网站为因为请求不携带请求头而造成访问异常,这里我们可以手动添加 headers 内容,模拟添加 headers 中的 Uer-Agent 内容代码:执行结果:结果可见,User-Agent 的值变了。不是之前的:python-requests/2.23.0。5、POST 请求GET请求相关的知识都讲完了,下面讲讲另一个常见的请求方式:POST请求。使用 requests 实现 POST 请求的代码如下:结果如下从 form 中我们看到了自己提交的数据,可见我们的 POST 请求访问成功。6、响应访问URL时,有请求就会有响应,上面的示例使用 text 和 content 获取了响应的内容。除此以外,还有很多属性和方法可以用来获取其他信息,比如状态码、响应头、Cookies 等。关于状态码,requests 还提供了一个内置的状态码查询对象 requests.codes,用法示例如下:这里通过比较返回码和内置的成功的返回码,来保证请求得到了正常响应,输出成功请求的消息,否则程序终止。这里我们用 requests.codes.ok 得到的是成功的状态码 200。这样的话,我们就不用再在程序里面写状态码对应的数字了,用字符串表示状态码会显得更加直观。下面是响应码和查询条件对照信息:7、SSL 证书验证现在很多网站都会验证证书,我们可以设置参数来忽略证书的验证。或者制定本地证书作为客户端证书:注意:本地私有证书的 key 必须是解密状态,加密状态的 key 是不支持的。8、设置超时很多时候我们需要设置超时时间来控制访问的效率,遇到访问慢的链接直接跳过。示例代码:将连接时间和读取时间分开计算:不添加参数,默认不设置超时时间,等同于:9、身份认证遇到一些网站需要输入用户名和密码,我们可以通过 auth 参数进行设置。简化写法:10、设置代理如果频繁的访问某个网站时,后期会被一些反爬程序识别,要求输入验证信息,或者其他信息,甚至IP被封无法再次访问,这时候,我们可以通过设置代理来避免这样的问题。若你的代理需要使用HTTP Basic Auth,可以使用http://user:password@host/ 语法:要为某个特定的连接方式或者主机设置代理,使用 scheme://hostname 作为 key, 它会针对指定的主机和连接方式进行匹配。到此,相信大家对“Python爬虫的Requests库怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: 如何用C语言代码实现无符号数和有符号数间的运算

这篇文章主要介绍“如何用C语言代码实现无符号数和有符号数间的运算”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用C语言代码实现无符号数和有符号数间的运算”文章能帮助大家解决问题。unsigned int和int进行…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/14 10:34
下一篇 02/14 10:34

相关推荐