静态网页爬取

静态网页是指服务器直接返回预先编写好的 HTML 文件,内容不会因用户交互而动态改变。爬取静态网页的核心步骤是:发送 HTTP 请求 → 获取 HTML 内容 → 解析数据

Requests库是Python中一个HTTP库,也是静态网页爬取安装必备库。基于Urllib开发,采用Apache2 Licensed开源协议。它比标准库urllib更加方便易用,能够帮助我们高效地发送HTTP请求和处理响应。

Requests常见方法

HTTP协议中常用的请求方法有GET、POST、PUT、DELETE等,分别对应查、增、改、删操作。Requests库对这些方法都进行了良好的封装。

一般来说Post和Get请求使用频率较高。

GET请求是最常用的请求方法,用于从服务器获取资源。

requests.get(url, params=None, **kwargs)  url : 拟获取页面的url链接

 params : url中的额外参数,字典或字节流格式,可选

**kwargs: 12个控制访问的参数

POST请求通常用于向服务器提交数据。

url:获取页面的url链接

data:字典、字节序列或文件对象,作为Requests的内容

**kwargs:12个控制访问的参数

Requests对象响应

由服务端返回给客户端,可分为三部分:响应状态码( Response Status Code ) 响应头( Response Headers ) 响应体( Response Body )

r.text:获取响应的文本内容;

r.status_code:获取响应的状态码;

r.headers:获取指响应头信息;

r.cookies:获取Cookies信息;

r.url:获取请求的URL;

r.history:获取请求的历史信息;

r.request:获取请求的方式;

r.status_code : HTTP请求的返回状态,200表示连接成功,404表示失败

r.text : HTTP响应内容的字符串形式,即URL对应的页面内容

r.encoding : 从HTTP header中猜测的响应内容编码方式

r.apparent_encoding : 从内容中分析出的响应内容编码方式

r.content : HTTP响应内容的二进制形式

raise_for_status( )自动判断 r.status_code 是否为 200

Cookie与Session

 Cookie 的机制

服务器通过 HTTP 响应头向客户端(浏览器)发送 Cookie。

浏览器接收后,将 Cookie 存储在本地(如 Cookies 文件夹),并当网页要发http请求时,浏览器会先检查是否有相应的cookie,有则自动添加在request 请求中header的cookie字段中。这些是浏览器自动帮我们做的,而且每一次http请求浏览器都会自动帮我们做。

cookie最典型的应用是:    

(一):判断用户是否登陆过网站,以便下次登录时能够直接登录。如果我们删除cookie,则每次登录必须重新填写登录的相关信息。    

(二):另一个重要的应用是“购物车”中类的处理和设计。用户可能在一段时间内在同一家网站的不同页面选择不同的商品,可以将这些信息都写入cookie,在最后付款时从cookie中提取这些信息,当然这里面有了安全和性能问题需要我们考虑了。

Session机制

Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息。

当程序需要为某个客户端的请求创建一个Session时,服务器首先检查这个客户端的请求(cookie)里是否已包含了一个Session标识(称为Session Id)。如果已包含则说明以前已经为此客户端创建过Session,服务器就按照Session Id把这个session检索出来使用(检索不到,会新建一个);如果客户端请求不包含Session Id,则为此客户端创建一个Session并且生成一个与此Session相关联的Session id,Session Id的值应该是一个既不会重复,又不容易被找到规律的方式以仿造的字符串,这个Session Id将被在本次响应中返回给客户端保存。

实例

QQ表情包图片爬取

手机号码归属地查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值