当前位置: 首页 > news >正文

码上爬第三题【协程+浏览器调试检测】

前言:图灵第三题就是对用户浏览器调试检测,检测鼠标右击打开控制台,检测键盘按键ctrl+shift+i,从浏览器设置打开开发者工具也不行,应该是有浏览器宽高检测的,所以我们保证浏览器页面宽高不变即可。

  1. 你如果想右击打开控制台,就会:
    在这里插入图片描述
  2. 你如果ctrl+shift+i或者从浏览器设置打开,那么就会:
    在这里插入图片描述
  3. 解决方案:弹出控制台,使得控制台和该页面不在同一个页面上。
    在这里插入图片描述
    这样就能抓包了,此题也就轻松解决了,当然你也可以用抓包工具抓包,比如fd。
    代码如下:
import asyncio, aiohttpclass AsyncSpider(object):def __init__(self):self.url = 'https://www.mashangpa.com/api/problem-detail/3/data/'self.headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36'}self.cookies = {'sessionid':'5jcme0ghsrunwzrdonvwiwpm87nquvxx'}self.semaphore = asyncio.Semaphore(3)async def fetch_page(self, session, page):params = {'page': page}async with self.semaphore:async with session.get(self.url, headers = self.headers, cookies = self.cookies, params = params, timeout = 10) as res:data = await res.json()return data.get('current_array', [])async def parse_all_pages(self):total_sum = 0async with aiohttp.ClientSession() as session:tasks = [self.fetch_page(session, page) for page in range(1, 21)]results = await asyncio.gather(*tasks)for array in results:if array:total_sum += sum(array)print(total_sum)if __name__ == '__main__':spider = AsyncSpider()asyncio.run(spider.parse_all_pages())
http://www.dtcms.com/a/323616.html

相关文章:

  • 本文章分享一个本地录音和实时传输录音给app的功能(杰理)
  • [GPU]什么是“硬件TL”在UnityURP中的体现
  • 疏老师-python训练营-Day40训练和测试的规范写法
  • 并发编程基础:继承Thread vs 实现Runnable - 深入解析与最佳实践
  • Tob大客户销售面试经验
  • 华为交换机进阶功能和场景化配置
  • 最长回文子串(马拉车/Manacher‘s )算法
  • P1053 [NOIP 2005 提高组] 篝火晚会
  • 【C/C++】详解内存对齐问题,C语言内存对齐整理
  • vulhub-Beelzebub靶机
  • 计算网络相关知识
  • 第15届蓝桥杯Scratch图形化省赛初级组2024年8月24日真题
  • 模型微调与RAG在问答系统中的对比分析
  • [激光原理与应用-205]:光学器件 - LD与DFB的比较
  • leetcode 11. 盛最多水的容器 -java
  • Kubernetes CronJob bug解决
  • B站小波变换视频笔记
  • 原创邮件合并Python工具使用说明(附源码)
  • python---变量作用域
  • 零拷贝技术:提升传统I/O的性能
  • 【C++】string 的特性和使用
  • 欢迎走进《励曼旋耕》
  • LintCode第547题-两数组的交集
  • leetcode 49. 字母异位词分组 - java
  • [激光原理与应用-202]:光学器件 - 增益晶体 - Nd:YVO₄增益晶体的制造过程与使用过程
  • vite面试题及详细答案120题(61-90)
  • 简单聊聊PowerShell
  • Effective C++ 条款32:确定你的public继承塑模出 is-a 关系
  • 【读代码】深度解析 SmolAgents Open Deep Research
  • 杰理-AW-断言-log