web-scraping - Firefox 开发工具调试器中的 'SOURCE' 文件来自哪里?

标签 web-scraping reverse-engineering web-frontend

使用 Firefox 的 Web 开发工具并从 https://www.espn.com 加载主页,我切换到“调试器”选项卡并看到以下内容:

1 - espn.com w/firefox dev tools on debugger tab

如果我尝试在开发工具中“在文件中查找”(Ctrl+Shift+F),例如“data-id”,我会得到如下结果:

dev tools search results

我的问题是关于结果,例如两个列为“(1 match)”且没有源文件名的结果。如果我单击其中一个结果,我会跳转到“SOURCE”文件,如下所示:

example SOURCE file

一般性询问(仅使用 espn.com 作为示例)这个“SOURCE”文件内容是什么,是什么生成的,等等?我希望更好地了解特定网站如何向其页面提供动态内容,并在这些类型的结果/"file"中找到我感兴趣的信息。但如果不了解它们,就不清楚我如何能够请求/生成/抓取它们。

(此外,我注意到只有 Firefox 的开发工具会显示这些类型的生成(假定)文件,而 Chrome 则不会。)

谢谢

最佳答案

您可以通过多种方式生成此内容:

new Function(content)这样做(这是 ESPN 网站使用的一个)

new Function(`const unique_string="_AAAAA_"; console.log(unique_string)`)();
Go to Firefox's dev-tools' debugger and search for the unique string

eval(content)这也是吗

new Function(`const unique_string="_BBBBB_"; console.log(unique_string)`)();
Go to Firefox's dev-tools' debugger and search for the unique string

Element#append(Range#createContextualFragment("<script>"+content+"<\/script>")也是如此

document.body.append(
  document.createRange().createContextualFragment(
    `<script>const unique_string="_CCCCC_"; console.log(unique_string)<\/script>`
  )
);
Go to Firefox's dev-tools' debugger and search for the unique string

也许还有其他我现在没有想到的。
(说实话,我觉得像 setTimeout(content) 这样的东西没有产生一个有点令人惊讶)。

关于web-scraping - Firefox 开发工具调试器中的 'SOURCE' 文件来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73216312/

相关文章:

java - 如何获得用于生成随机数的范围?

html - 将搜索栏与导航中的其他元素对齐

error-handling - angular 5中的错误处理,从前端的api中捕获错误

ruby-on-rails - 如何从 RSS feed 条目中获取视频

linux - 调试 ELF 文件

python - 编写可维护的网络抓取工具的最佳实践是什么?

assembly - fs :0x30 provide in Linux? 是什么

javascript - WebWorkers - 新的 Worker 不断从服务器请求相同的脚本

python - 如何在 Python 中使用 Beautifulsoup 查找 div 内的所有 anchor 标签

xpath - 使用 ImportXML 拉取 URL 和 anchor