拉勾网访问显示操作太频繁解决思路,用session获取cookie添加到请求头(报文)里

本文主要是介绍拉勾网访问显示操作太频繁解决思路,用session获取cookie添加到请求头(报文)里,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

拉勾网的职位界面使用ajax技术,在原网页代码无法获取搜索的职位信息。
1.抓包分析 ,
!在这里插入图片描述
通过反复观察,找到了信息职位的界面,根据这个数据包的信息制作头部信息
在这里插入图片描述

    headers = {
'User-Agent': random_user, #随机用户
"Referer":"https://www.lagou.com/jobs/list_python/",# 从哪个访问过来
"X-Anit-Forge-Token":"None",
"X - Anit - Forge - Code": "0","X - Requested - With":"XMLHttpRequest"
}

制作表单
在这里插入图片描述

data = {"first":"true",
"pn":1, # 这里是页码
"kd":"python"
}response = requests.post(url_2, headers=get_headers(), data=data,proxies=proxies_ip,timeout=5)
print(response.json())`

请求后提示
{‘status’: False, ‘msg’: ‘您操作太频繁,请稍后再访问’, ‘clientIp’: ‘171.35.148.185’, ‘state’: 2402}

2.分析这里请求头除了cookie信息没有添加其余都加入进去,本来想着用手动复制,但是复制进入报头后是这样

在这里插入图片描述
天哪,好长的cookie,一点点整理,删除空格换行符实在是太麻烦了,懒得手动去弄(其实主要原因是cookie是会失效的,如果失效后每次都手动修改,这也太那啥了。。。),作为一个天才的程序员(自夸下),肯定有其他什么办法的。想起来之前看的关于cookie和session,一句话概括,大概就是http是无状态协议,我们第一次访问的时候会产生一个cookie,网站服务器的session会把session_ID 添加到cookie里在把cookie发送会给访问者,这样下次再次访问网站滴时候再次发送cookie,网站获取到了cookie里的session_ID就知道了访问者是之前的那位,那么思路就有了,查下找session的相关文档

3.找到了相关代码,用session访问网站静态页面网站返回的cooike添加到报头里

    session = requests.session() # 访问session,打开sessionsession.get(url_1,headers = get_headers())# 打开静态网页,讲cookie放入sessioncookies = session.cookies # 赋值session中的cookiescookies = cookies.get_dict()# 类转换成字典print(cookies)

在这里插入图片描述
4.打印出来获取到了发现获取到了cookie,把我们的cookie加入请求在访问网站的数据动态网页

 response = requests.post(url_2, headers=get_headers(), data=data,proxies=proxies_ip,cookies=cookies,timeout=5)if response.status_code == 200:print(response.json())

在这里插入图片描述
获取到了网站数据,我厉害不厉害。。。快给我点赞
在这里插入图片描述

这篇关于拉勾网访问显示操作太频繁解决思路,用session获取cookie添加到请求头(报文)里的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202856

相关文章

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu