python 爬虫基础:requests库

本文主要是 MOOC嵩天老师的《Python网络爬虫与信息提取》课的笔记以及总结。


简单介绍

相关的几个package

requests --> beautifulsoup --> re

requests : 获取网页信息(自动爬取html页面,自动提交网络请求)
beautifulsoup:解析网页内容
Re :正则表达式,更进一步提取关键信息

一、requests 库的简单介绍

Requests 库的7种主要方法
requests.get(url) 就可以爬取任意url网页
在这里插入图片描述
对于response的处理:
在这里插入图片描述
在这里插入图片描述r.encodingr.apparent_encoding都可以用来查看网页编码
.encoding 只是猜测http的head的内容
.apparent_encoding 会根据内容猜测编码(所以一般更准确一点)
.text 如果是乱码说明读到的可能是.encoding的编码,这时可以将.apparent_encoding的编码赋予.encoding就可以将乱码转化为可读的文字

二、异常处理

Python 异常处理用 try except 的语法
通用的异常处理的code
在这里插入图片描述

三、Http 的协议

url通过http协议存取资源的internet的路径,就像电脑中的文件一样,但是文件不是存在电脑里,而是存在internet上。每一个url对应一个internet上的数据资源。有些资源很大有些资源很小。
在这里插入图片描述
http协议的六个方法就是requests库提供的六个主要函数所对应的功能
head:获取url资源的头部信息,当资源很大,我们不能直接拿下来的时候就可以只分析它的头部信息。
post:向url后增加新的信息,不改变资源原有的内容。
put:将自己的data放到url中,原有的资源将被覆盖掉。
patch:把url原有资源部分修改掉。
在这里插入图片描述
Http 通过url对资源做定位,通过上面六个对资源做管理。把internet当成一个云端,上面存储的资源都是用url来做标示的,想获取的时候可以用get/head,想把自己的资源放上可以用post/put/patch。每次操作都是独立、无状态的。所以这次操作和之前的操作无关。

Patch 和 put 的一些区别 :
在这里插入图片描述
http协议与requests库是相互对应的:
在这里插入图片描述例如 head()的方法就可以直接查看头部信息的内容。
在这里插入图片描述用post()的方法向url新增资源。新增的“键值对”(像是字典)资源被默认放在了form的字段下。
在这里插入图片描述
如果提交的是一个字符串会被放入data的中。
在这里插入图片描述
put的方法和post基本类似只不过他会覆盖掉原有的资源。

四、requests库的详细介绍

接下来是对requests库的详细介绍
在这里插入图片描述

首先是 .requests()他是最基本的方法,
在这里插入图片描述逐一来讲解requests的参数,第一个是 params
在这里插入图片描述参数是 data 和json 都是可以将内容赋值给url
在这里插入图片描述定制访问某个url的协议head。
将user-agent 改为 chrome/10 当url再去服务器访问的时候,服务器看到的headers就是chrome/10浏览器。就模拟chrome浏览器向服务器发起访问。
在这里插入图片描述我们可以建立一个字典,以 file 以及对应的文件为键值对,用open的方式打开文件。将对应的字典和files关联起来,我们就可以向URL提交特定的文件
在这里插入图片描述设置一个timeout的时间,用get来抓取url,如果查过时间则返回一个timeout的异常
在这里插入图片描述
proxies为访问代理服务器的地址,下面的例子中增加了两个代理服务器。这样我们在访问要抓取的url是,使用的ip地址就是代理服务器的ip地址。用这歌参数可以有效的隐藏爬取时原的ip地址,有效的防止对于爬虫的逆追踪
在这里插入图片描述
这四个是一些高级功能:
在这里插入图片描述
.get( ) 中的**kwargs和前面提到的 .requests ()是一样的,params是要get 的额外参数
.get( )是最常用的一个方法,因为在http协议中向url提交资源的功能在服务器上是严格守控的,因为这其中有很大的安全问题(可能会有人向url中传输一些恶意的内容),所以我们大部分的时间都只会用到“获取get”的功能。
在这里插入图片描述

小结

最常用的其实就是下面的两个函数:
在这里插入图片描述
需要学会的通用代码框架(网络连接有风险,异常处理很重要。一定要学会用try except来勘错):
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值