是否可以在 Chrome 扩展中进行一些简单的网页抓取?

Bri*_*ard 1 javascript google-chrome google-chrome-extension web-scraping

提前致谢,如果这可能不是一个格式良好的问题,我很抱歉,我对 CS 和 stackoverflow 相对较新。

我希望制作一个简单的 chrome 扩展,它覆盖新的标签页以显示从几个网站收集的一些简单数据。我想知道是否可以在基本 JS 或 chrome API 中进行网页抓取?任何信息或指导将不胜感激,我一直在尝试对这个主题进行研究,但还没有找到任何最近或明确的答案。

感谢您的帮助!

这是一个较旧的 stackoverflow 问题,提出了相同的问题,但我无法从答案中取得任何进展。

Google Chrome 扩展程序中的网页抓取(JavaScript + Chrome API)

小智 6

绝对不是简单的刮擦。

\n

如果您考虑一下,使用浏览器本身就尽可能接近复制真实的用户会话。您不必关心手动设置 cookie、发现和构造 json http 请求。浏览器会为您完成这一切。渲染页面后(无论是否使用 JavaScript),您都可以访问 DOM 并提取您喜欢的任何内容。

\n

看看https://github.com/get-set-fetch/extension,这是一个开源浏览器扩展,它的功能不仅仅是基本的抓取。它支持无限滚动、单击和从单页 JavaScript 应用程序中提取内容。

\n

免责声明:我是扩展作者。

\n

如果您认真对待这个主题,请从开发一个简单的 chrome 扩展开始(根据我自己的经验,Chrome 会比 Firefox 抛出更多详细的扩展错误): https: //developer.chrome.com/extensions/getstarted

\n

之后看一下主要的 get-set-fetch 后台插件:FetchPlugin(在选项卡中加载 url 并等待 DOM 稳定)、ExtractUrlPLugin(识别要从当前 url 中抓取的其他 url)、ExtractHtmlContentPlugin(基于实际抓取) CSS 选择器)。

\n

但也有缺点。\xe2\x80\x99s 以您最喜欢的语言运行抓取脚本,将抓取的内容转储到数据库中,比自动启动浏览器、加载扩展、控制扩展、将抓取的数据导出为 csv 等格式、导入要容易得多将该数据存入数据库。

\n

在我看来,只有当您不想自动提取数据或您尝试抓取的页面的 javascript 太重时,才有意义使用浏览器扩展\xe2\x80\x99 \x99s 比编写抓取脚本更容易自动化扩展。

\n