爬虫抓包工具和PyExeJs模块

news2025/5/19 16:32:03

我们在处理一些网站的时候, 会遇到一些屏蔽F12, 以及只要按出浏览器的开发者工具就会关闭甚至死机的现象. 在遇到这类网站的时候. 我们可以使用抓包工具把页面上屏蔽开发者工具的代码给干掉.

Fiddler和Charles

这两款工具是非常优秀的抓包工具. 他们可以监听到我们计算机上所有的http网络请求. 利用这种特性. 可以获取到页面加载过程中的所有内容.

软件安装

对于mac的朋友只能用charles,对于Windows的朋友,建议用fiddler

如果想要了解fiddler的原理,可以看这篇文章Fiddler的工作原理_fiddler中间人攻击-CSDN博客

配置期末端口的配置

点击Tools下的setting

有时候这种host下为Tunnel to,说明请求没有出去被打回来了,这种我们不想看到,可以点

这里讲一讲Fiddler中的找到替换的文件,使用中间人拦截替换。

所谓中间人拦截替换,就是狸猫换太子,将原来的含有无限 debugger 的函数给替换掉,这种方法适用于知道无限 debugger 函数所在的具体 JS 文件,重写 JS 文件,使其不含有无限 debugger 的函数,利用第三方工具将原来的 JS 文件替换成重写过后的文件,这类工具有很多,例如浏览器插件 ReRes,它通过指定规则,可以把请求映射到其他的 URL,也可以映射到本机的文件或者目录,抓包软件 Fidder 的 Auto responder 功能,也可以实现替换。

这里的Enable rules一定要勾选上,还有Unmatched requestspasssthrough,然后选择你要插入的文件,即可。

Enable rules的作用是在 Fiddler 中,Enable rules 的作用是激活自动响应器(AutoResponder)功能。当勾选此选项时,Fiddler 会根据用户在自动响应器中设置的规则来处理 HTTP 请求和响应

在 Fiddler 的 AutoResponder(自动响应器)功能中,Unmatched requests passthrough 选项的作用是控制未匹配到任何规则的请求如何处理。勾选该选项时:未匹配到任何规则的请求将正常发送到服务器,不会受到 Fiddler 自动响应器的干预

在更改了浏览器文件过后,我们一定不要去按旁边这个刷新,或者重新点击链接

我们要使用ctrl+shift+r来对网页进行刷新,如果还是没有效果那就要把浏览器所有的缓存清理掉。

PyExeJs模块

pyexecjs是一个可以帮助我们运行js代码的一个第三方模块. 其使用是非常容易上手的.

但是它的运行是要依赖能运行js的第三方环境的. 这里我们选择用node作为我们运行js的位置.

node.js

安装node.js的教程在这2024最新版Node.js下载安装及环境配置教程【保姆级】_nodejs下载-CSDN博客

安装pyexecjs

pip install pyexecjs

测试一下

import execjs

print(execjs.get().name)  # 需要重启pycharm或者重启电脑 Node.js (V8)

简单使用

import subprocess
from functools import partial
subprocess.Popen = partial(subprocess.Popen, encoding='utf-8')

import execjs

print(execjs.get().name)

# execjs.eval 可以直接运行js代码并得到结果
js = """
    "鲁班_王昭君_猴子_亚瑟_蔡文姬".split("_")
"""
res = execjs.eval(js)
print(res)

# execjs.compile(),  call()
# execjs.compile() 事先加载好一段js代码,
jj = execjs.compile("""
    function an(a, b){
        return a + b    
    }
""")
# call() 运行代码中的xxx函数. 后续的参数是xxx的参数
ret = jj.call("an", 10, 20)
print(ret)

简单实战

百度翻译

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2332711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无人机击落技术难点与要点分析!

一、技术难点 1. 目标探测与识别 小型化和低空飞行:现代无人机体积小、飞行高度低(尤其在城市或复杂地形中),雷达和光学传感器难以有效探测。 隐身技术:部分高端无人机采用吸波材料或低可探测设计,进…

8.第二阶段x64游戏实战-string类

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:7.第二阶段x64游戏实战-分析人物属性 string类是字符串类,在计算机中…

Go语言sync.Mutex包源码解读

互斥锁sync.Mutex是在并发程序中对共享资源进行访问控制的主要手段,对此Go语言提供了非常简单易用的机制。sync.Mutex为结构体类型,对外暴露Lock()、Unlock()、TryLock()三种方法,分别用于阻塞加锁、解锁、非阻塞加锁操作(加锁失败…

C++实现文件断点续传:原理剖析与实战指南

文件传输示意图 一、断点续传的核心价值 1.1 大文件传输的痛点分析 网络闪断导致重复传输:平均重试3-5次。 传输进度不可回溯:用户无法查看历史进度。 带宽利用率低下:每次中断需从头开始。 1.2 断点续传技术优势 指标传统传输断点续传…

Python贝叶斯回归、强化学习分析医疗健康数据拟合截断删失数据与参数估计3实例

全文链接:https://tecdat.cn/?p41391 在当今数据驱动的时代,数据科学家面临着处理各种复杂数据和构建有效模型的挑战。本专题合集聚焦于有序分类变量处理、截断与删失数据回归分析以及强化学习模型拟合等多个重要且具有挑战性的数据分析场景&#xff0c…

微信小程序 -- 原生封装table

文章目录 table.wxmltable.wxss注意 table.js注意 结果数据结构 最近菜鸟做微信小程序的一个查询功能,需要展示excel里面的数据,但是菜鸟找了一圈,也没发现什么组件库有table,毕竟手机端好像确实不太适合做table! 菜鸟…

分布式文件存储系统FastDFS

文章目录 1 分布式文件存储1_分布式文件存储的由来2_常见的分布式存储框架 2 FastDFS介绍3 FastDFS安装1_拉取镜像文件2_构建Tracker服务3_构建Storage服务4_测试图片上传 4 客户端操作1_Fastdfs-java-client2_文件上传3_文件下载4_获取文件信息5_问题 5 SpringBoot整合 1 分布…

ZKmall开源商城服务端验证:Jakarta Validation 详解

ZKmall开源商城基于Spring Boot 3构建,其服务端数据验证采用Jakarta Validation API​(原JSR 380规范),通过声明式注解与自定义扩展机制实现高效、灵活的数据校验体系。以下从技术实现、核心能力、场景优化三个维度展开解析&#…

学透Spring Boot — 017. 魔术师—Http消息转换器

本文是我的专栏《学透Spring Boot》的第17篇文章,了解更多请移步我的专栏: 学透 Spring Boot_postnull咖啡的博客-CSDN博客 目录 HTTP请求和响应 需求—新的Media Type 实现—新的Media Type 定义转换器 注册转换器 编写Controller 测试新的medi…

BOE(京东方)旗下控股子公司“京东方能源”成功挂牌新三板 以科技赋能零碳未来

2025年4月8日,BOE(京东方)旗下控股子公司京东方能源科技股份有限公司(以下简称“京东方能源”)正式通过全国中小企业股份转让系统审核,成功在新三板挂牌(证券简称:能源科技,证券代码:874526),成为BOE(京东方)自物联网转型以来首个独立孵化并成功挂牌的子公司。此次挂牌是BOE(京…

Git使用与管理

一.基本操作 1.创建本地仓库 在对应文件目录下进行: git init 输入完上面的代码,所在文件目录下就会多一个名为 .git 的隐藏文件,该文件是Git用来跟踪和管理仓库的。 我们可以使用 tree 命令(注意要先下载tree插件&#xff09…

计算机网络——传输层(Udp)

udp UDP(User Datagram Protocol,用户数据报协议 )是一种无连接的传输层协议,它在IP协议(互联网协议)之上工作,为应用程序提供了一种发送和接收数据报的基本方式。以下是UDP原理的详细解释&…

图解Java设计模式

1、设计模式面试题 2、设计模式的重要性 3、7大设计原则介绍 3.1、单一职责原则

wsl2+ubuntu22.04安装blender教程(详细教程)

本章教程介绍,如何在Windows操作系统上通过wsl2+ubuntu安装blender并运行教程。Blender 是一款免费、开源的 ​​3D 创作套件​​,广泛应用于建模、动画、渲染、视频编辑、特效制作等领域。它由全球开发者社区共同维护,支持跨平台(Windows、macOS、Linux),功能强大且完全…

Spring AI Alibaba MCP 市场正式上线!

Spring AI Alibaba 正式上线 MCP 市场:Spring AI Alibaba-阿里云Spring AI Alibaba官网官网。 开发者可以在这里搜索市面上可用的 MCP Server 服务,了解每个服务的实现与接入方法。 MCP 市场是做什么的? Spring AI Alibaba MCP 当前主要提供…

【Hadoop入门】Hadoop生态圈概述:核心组件与应用场景概述

1 Hadoop生态圈概述 Hadoop生态圈是以 HDFS(分布式存储) 和 YARN(资源调度) 为核心,围绕大数据存储、计算、管理、分析等需求发展出的一系列开源工具集合。 核心特点: 模块化:各组件专注解决特定…

致远OA —— 表单数据获取(前端)

文章目录 :apple: 业务需求描述 🍎 业务需求描述 测试案例: https://pan.quark.cn/s/3f58972f0a27 官网地址: https://open.seeyoncloud.com/v5devCAP/94/355/359/399/405/406.html 需求描述: 点击获取数据接口,…

游戏引擎学习第214天

总结并为当天的任务做好准备 昨天,我们将所有调试控制代码迁移到使用新的调试接口中,但我们没有机会实际启用这些代码。我们做了很多准备工作,比如规划、将其做成宏、并将其放入调试流中,但实际上我们还没有办法进行测试。 今天…

使用stm32cubeide stm32f407 lan8720a freertos lwip 实现udp client网络数据转串口数据过程详解

1前言 项目需要使用MCU实现网络功能,后续确定方案stm32f407 外接lan8720a实现硬件平台搭建,针对lan8720a也是用的比较多的phy,网上比较多的开发板,硬件上都是选用了这个phy,项目周期比较短,选用了这个常用…

Go:入门

文章目录 Hello, World命令行参数找出重复行GIF动画获取一个URL并发获取多个URL一个 Web 服务器其他 Hello, World Hello world package main import "fmt" func main() {fmt.Println("Hello, 世界") }package main表明这是一个可独立执行的程序包&#…