三、模拟登录Cookie、代理理论

1、Cookie模拟登录:

1.1 Http/Https请求协议:

无状态,没有请求到页面数据的原因:

​ 发起的第二次基于个人主页页面请求的时候,服务器端并不知道此请求是基于登录状态下的请求。

1.2 Cookie:

用来让服务器端记录客户端的相关状态

处理方式:

​ (1). 手动处理:通过抓包工具获取到cookie值,将该值封装到headers中。(不建议)

​ (2). 自动处理 :

​ ---- cookie值的来源是哪里?

​ ---- 模拟登录post请求后,由服务器端创建。

​ ---- session会话对象:

​ ---- 作用:

​ 1.可以进行请求的发送;

​ 2.如果请求过程中产生了cookie,则该cookie会被自动存储/携带在该session对象中。

​ ---- 创建一个session对象;session= requests.Session()

​ ---- 使用session对象进行模拟登录post请求的发送 (cookie会被自动存储在session中)

​ ---- session对象对个人主页对应的get请求进行发送(携带了cookie)

2、代理理论:

2.1 目的:

​ 代理:破解封存IP这种反爬机制;

​ 代理的作用:突破自身IP访问的限制;隐藏自身真实IP

2.2 代理ip的类型:

​ http:应用到http协议对应的url中;

​ https:应用到https协议对应的url中;

2.3 代理ip的匿名度:

在这里插入图片描述

2.4 使用方法:

在发送post/get 请求时加上 proxies={"key","value"};key为协议类型(两种),value为代理ip的值

全网代理IP: http://www.goubanjia.com/

import  requests

if __name__ == '__main__':
    url='https://www.baidu.com/s?ie=UTF-8&wd=ip'
    headers={
        "User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'
    }
    response=requests.get(url=url,headers=headers,proxies={"https":'175.42.68.236:9999'}).text
    with open('./proxy.html','w',encoding='utf-8') as fp:
        fp.write(response)
posted @ 2023-02-24 20:55  Stitches  阅读(58)  评论(0)    收藏  举报