-1

概述

我的目标是在 WSL2 上编写一个 Bash 脚本,从 Brave 浏览器的主页中提取数据并将其存储在一个文本文件中。具体来说,我想访问这张图片中看到的“勇敢奖励”的值并将其存储在 Bash 变量中:

勇敢的截图://奖励/

勇敢者截图:无网址

问题

我不知道如何以编程方式访问此页面。没有可用于下载它的 URLwgetcurl. 我能找到的只是brave://rewards/,它不适用于curlor wget

# ISSUE GETTING CONTENTS
content=$(wget brave://rewards/ -q -O -)
echo $content
# Blank line returned

浏览器是 Windows 版本,我可以从 WSL2/Ubuntu 上的 shell(通过 xlaunch)或直接从 Windows 启动它。

有什么方法可以让我以编程方式访问“勇敢的奖励”值或brave://rewardsURL?

4

1 回答 1

0

不幸的是,这不是您可以“刮掉”的东西,就像您似乎正在尝试的那样。如评论中所述,该brave://rewards页面是一个内部浏览器页面。wget无论是 WSL、纯 Linux 等,您都无法从或任何其他软件访问此页面。

浏览器显然会与之通信api.rewards.brave.com以获取此信息,但据我所知,没有关于该 API 的文档。

以编程方式获取所需信息可能有两种可能性:

  • 如果您真的想“深入了解”,您可以通过启动开发工具 ( ++ )brave://rewards从浏览器中查看源代码(JavaScript 和 HTML )。主要脚本是. 可以脚本进行逆向工程。CtrlShiftIbrave_rewards_page.bundle.js

  • 根据您想要执行此操作的频率,也许更好的选择是尝试通过Python/Selenium/Chromedriver编写脚本。使用此堆栈,您可以“自动化”浏览器打开brave://rewards页面并访问<div>带有奖励值的内容。

    从 WSL2 执行此操作的一些提示:

    • 您将需要使用 Linux 版本的 Brave。WSL2 上的 Selenium 将无法连接到 Windows Brave 的 chromedriver。
    • 这意味着您还需要能够在 WSL2 上运行 GUI 应用程序。如果您能够升级到支持 WSLg 的 Windows 11,则可以轻松完成此操作。或者,我xrdp个人更喜欢在 Windows 10 上访问 WSL2 中的 GUI 应用程序。有关更多详细信息,请参阅此问题我在此处提供的单独答案
于 2021-10-15T14:14:31.387 回答