抓取网络请求Network中的响应JSON数据,不用JS逆向和RPC,python selenium+browser-proxy

这篇具有很好参考价值的文章主要介绍了抓取网络请求Network中的响应JSON数据,不用JS逆向和RPC,python selenium+browser-proxy。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们要获取这里的响应的JSON数据,但是它的请求头里面带有加密数据,需要js逆向,或者RPC才能拿到,现在介绍一种方法,免去以上过程就可以轻松拿到响应数据。

browsermob-proxy下载,网络爬虫,selenium,测试工具,网络爬虫,python,网络协议

browsermob-proxy下载,网络爬虫,selenium,测试工具,网络爬虫,python,网络协议

显然上面的红框是加密数据。 

 下面正式开始

下载browsermob-proxy文件

首先要检查电脑是否安装了JDK8,高版本的好像不行,如果没有安装,则需要进行安装。这里不介绍了。下面下载两个东西:

(1)python包的安装:pip3 install browsermob-proxy

(2)组件下载地址:https://github.com/lightbody/browsermob-proxy/releases,下载之后解压,后面会用到

完整代码:文章来源地址https://www.toymoban.com/news/detail-618346.html

import time
from browsermobproxy import Server
from selenium import webdriver

server = Server(".\\browsermob-proxy-2.1.4\\bin\\browsermob-proxy.bat")
server.start()
proxy = server.create_proxy()

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--proxy-server={0}'.format(proxy.proxy))

browser = webdriver.Chrome(options=chrome_options) # 打开浏览器
browser.maximize_window()  # 最大化窗口

url = '所要访问的网址'

# 这里要开一个新的har,用来记录下面打开网址的请求记录,起名为log
# 如果重复访问很多网站,那么每次都得新开一个har,不然一直用一个har,
# 它会累积记录所有的访问和请求数据,每次新开一个再去访问,它只会记录
# 当前的网页的请求
proxy.new_har("log", options={'captureHeaders': True, 'captureContent': True, 'captureBinaryContent': True})
browser.get(url)
time.sleep(60)
# 此处最好暂停几秒等待页面加载完成,不然会拿不到结果,我这里等待的是秒,自己根据情况调整
result = proxy.har

for entry in result['log']['entries']:
    _url = entry['request']['url']
    # entry每一个请求URL都对应着一个response,我们只需要判断URL找出自己想找的那个JSON就好
    if "这里放你需要拿到的JSON数据的请求头中的URL" == _url: #如果两个相等,则可能是我们想要的数据,因为这个URL可能有多个,
        # 在后面拿到数据之后再进一步判断即可
        _response = entry['response']
        _content = _response['content']
        print(_content)

server.stop()
browser.quit()

到了这里,关于抓取网络请求Network中的响应JSON数据,不用JS逆向和RPC,python selenium+browser-proxy的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端异步请求并解决跨域问题(Ajax+axios框架)、后端响应多个数据(JSON)

    目录 一、前后端同步异步请求 1.同步请求: 2.异步请求: 3.跨域问题(前端问题) 4.axios框架(封装后) 二、后端向前端响应多个数据-JSON 1.同步请求:         发送一个请求,回应请求,回应的内容会覆盖浏览器中的内容,这样会 打断 前端其他的正常操作。 2.异步请求:

    2024年02月07日
    浏览(53)
  • 接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

    文章目录 前言 一、requests库的使用 二、json和字典的区别 三、后端登录接口-请求数据生成 四、接口自动化-对应电商项目中的功能 五、来自postman的代码-后端登录 总结 记录:json和字典的区别,json和字段的相互转化;postman发送请求与Python中代码发送请求的区别。 安装: p

    2024年02月01日
    浏览(43)
  • 请求响应-json参数的接收

    JSON参数:JSON数据 键名 与形参对象 属性名 (即实体类中的成员变量)相同,定义POJO实体类即可接收参数,需要使用 @RequestBody 标识,将请求体的数据封装到对应的参数中。 前端发送JSON格式的数据,要使用 POST 方法发送请求,因为JSON格式的数据要放在请求体中, 而GET请求方

    2024年02月15日
    浏览(36)
  • 【iOS】json数据解析以及简单的网络数据请求

    近期写完了暑假最后一个任务——天气预报,在里面用到了简单的网络数据请求以及json数据的解析,特此记录博客总结 JSON是一种轻量级的数据格式,一般用于数据交互。目前JSON的使用非常广泛,绝大多数网络请求都采用了JSON格式。 举个例子: 这就是我们利用API请求到的

    2024年02月14日
    浏览(28)
  • 接收请求体和请求行,设置响应体 处理ajax请求 处理json格式请求

    目录 1.将请求体或者请求头转为java对象(String) @RequestBody 获取请求体(只有post请求才有请求体) @RequestEntity 获取请求体和请求头  2.设置响应体 原生的servlet 通过json方式来响应一个类 响应一个类(只这样写会报错,http是存在于浏览器和服务器之间的第三方协议,无法直接

    2023年04月08日
    浏览(31)
  • springboot的controller如何拿到post请求中的json数据

    在SpringBoot的Controller中,可以使用注解@RequestBody来获取POST请求中的JSON数据。我们可以将这个注解应用到一个Controller方法的参数上,Spring将会负责读取请求正文中的数据,将其反序列化为一个Java对象,并将其作为Controller方法的参数传递。以 Java 代码为例,示例代码如下: 在

    2024年02月15日
    浏览(27)
  • 微信小程序之WXSS模板样式、页面配置(.json)和网络数据请求

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需写作干货注入能量… 热爱写作,愿意让自己成为更好

    2024年01月24日
    浏览(48)
  • Qt 使用HTTP请求网络API并接收返回的JSON格式的数据

    引入网络模块: mainwindow.h: mainwindow.cpp:

    2024年02月13日
    浏览(37)
  • Qt网络编程post请求,数据格式为json或x-www-form-urlencoded

    目录 Qt网络编程post请求,数据格式为json或x-www-form-urlencoded 一、.H文件 1、.h头文件 2、.h主代码 二、.CPP文件 1、主代码  三、响应信息 返回结果(Josn数据格式输出) 四、Post数据格式参数及数据类型定义 1、Post:application/x-www-form-urlencoded数据类型格式 2、Post:application/json数据

    2024年02月07日
    浏览(34)
  • django中的请求和响应

    django中的请求是 被封装到HttpRequest的对象当中 当一个请求过来 django会根据路由url 匹配 匹配以后执行响应的视图函数 视图函数的第一个参数request 就是HttpRequest 当一个请求过来 /app/page/1 url匹配 urls.py 视图函数的执行 views.py request就是封装的HttpRequest 请求对象 django的响应 使用

    2024年02月10日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包