将网址中的网页加载为 html,以使用 Firebase 函数构建价格跟踪器



我正在尝试使用Firebase云功能来构建价格跟踪器以从网页进行跟踪

假设我想跟踪此产品: https://www.jarir.com/sa-en/apple-magic-keyboard-mouse-combo-547294.html

  1. 如何使用typeScript lang在我的云函数项目中加载此页面并将其作为html或字符串保存在const中?

这是我使用pubsub每 30 分钟触发一次此事件:

import * as functions from 'firebase-functions';
import admin = require('firebase-admin');
export const priceTracker = functions.pubsub.schedule('every 30 minutes')
.onRun(async(context) => {
// 1- How to load this page: https://www.jarir.com/sa-en/apple-magic-keyboard-mouse-combo-547294.html 
// and save it in a `const` as an html or string 
// 2- How to extract the price from the html const and save the result into my firestore database
});

提前🙏致谢

这确实是一个广泛的话题,很难在堆栈溢出答案中完全回答。相反,我要做的是帮助您将其分解为更小的步骤,并为这些步骤提供链接。

在所有这些中,真正有助于实现:

  1. 云功能在很大程度上只是由Google机器管理的小节点模块。因此,如果您想在Cloud Functions中执行某些操作,请考虑如何在Node.js中执行此操作。
  2. Node.js实际上只是在服务器上运行的JavaScript。因此,如果你想在 Node.js 中做一些事情,请考虑如何在"普通的旧 JavaScript"中做到这一点。

考虑到这一点:

  1. 将 HTML 页面从 URL 加载到云函数代码中

    搜索从 URL 加载 HTML 页面 Node.js似乎有一些很好的结果,包括使用Express在Node.js中获取URL内容。

  2. 在HTML中找到价格归结为解析该HTML。这个链接似乎是一个很好的起点:使用 Node JS 从 URL 中提取表值,通过在 Node 中搜索解析 HTML 页面,可以获得更多更好的结果.js

  3. 最后:按照有关将数据添加到数据库的文档,将生成的HTML或值存储到Firestore中应该相当简单。

最新更新