Python调用抓包获取的js代码

这里没有提供js代码,只提供思路和python代码

首先需要在本机安装node.js环境,接着就是安装python所需要的包pip install PyEExecJs

import execjs
#实例化一个node对象
node = execjs.get()
#js源文件编译
ctx = node.compile(open('./wechat.js',encoding='utf-8').read())
#执行js函数 getPwd("{0}")是js函数名 {0}是第一个参数的意思
funcName = 'getPwd("{0}")'.format('123456')
pwd = ctx.eval(funcName)
print(pwd)
要在Python中抓取浏览器中的network数据,可以使用第三方库,如mitmproxy或Pyppeteer。这些库可以帮助你拦截和分析网络请求和响应。 1. mitmproxy:它是一个强大的抓包工具,可以拦截HTTP和HTTPS流量。你可以使用 mitmproxy 库来编写自定义脚本,以捕获和处理网络数据。 以下是一个简单示例,演示如何使用mitmproxy库来拦截和打印网络请求和响应: ```python from mitmproxy import ctx def request(flow): print(flow.request.url) def response(flow): print(flow.response.text) addons = [ request, response ] if __name__ == '__main__': from mitmproxy.tools.main import mitmdump mitmdump(['-s', __file__]) ``` 在这个示例中,我们定义了两个函数:`request()`和`response()`。这两个函数将被mitmproxy调用以处理每个网络请求和响应。在这里,我们只是简单地打印了请求的URL和响应的文本。 2. Pyppeteer:它是一个无头浏览器的Python库,基于Chrome浏览器的开发者工具协议。你可以使用Pyppeteer来模拟浏览器行为,并获取网络请求和响应。 以下是一个简单示例,演示如何使用Pyppeteer库来抓取网络请求和响应: ```python import asyncio from pyppeteer import launch async def main(): browser = await launch() page = await browser.newPage() await page.goto('https://www.example.com') requests = await page.evaluate('''() => { return Array.from(window.performance.getEntries(), entry => ({ url: entry.name, method: entry.initiatorType, status: entry.response ? entry.response.status : null })); }''') for request in requests: print(request) await browser.close() asyncio.run(main()) ``` 在这个示例中,我们使用Pyppeteer启动了一个无头浏览器,并打开了一个页面。然后,我们使用页面的`evaluate()`方法来执行JavaScript代码,以获取网络请求和响应的信息。最后,我们打印了每个请求的URL、方法和状态码。 请注意,这些示例只是展示了如何使用mitmproxy和Pyppeteer来抓取网络数据的基本概念。具体的实现和需求可能会有所不同,你可能需要根据自己的项目需求进行进一步的定制和开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火浴R

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值