拉勾网访问显示操作太频繁解决思路,用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

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配