Skip to content

Latest commit

 

History

History
46 lines (35 loc) · 3.03 KB

README_CN.md

File metadata and controls

46 lines (35 loc) · 3.03 KB

Serverless Web Differ

一个基于ServerlessAWS LambdaHeadless ChromeSelenium,运行在云端的浏览器。

能做什么 | 环境准备 | 配置 | 部署

能做什么

  • 在无需自己部署的服务器的云上运行无头浏览器.
  • 浏览网页并且通过xpath提取页面元素并与预设值比较.
  • 如有不同发送推送通知.

环境准备

  1. 首先你需要一个AWS账号,和具有lambda权限的aws_access_key_idaws_secret_access_key。如果你还没有账号,可以去这里注册一个账号,然后看这儿来取得访问密钥。
  2. 安装node,并确认npm能成功运行。
  3. 安装Serverless: npm install -g serverless
  4. 配置serverless使用aws的密钥:sls config credentials -p aws -k aws_access_key_id -s aws_secret_access_key
  5. Clone这个仓库:git clone https://github.com/LeiShi1313/serverless-web-differ.git
  6. 安装依赖:cd serverless-web-differ && npm install

配置

在部署前有很多东西可以配置,你可以参考仓库里的config.yml以及config.yml.example文件,下面是各个配置项的解释:

  • events: 这是定义这个小程序运行频率的地方,具体可以参考这里(英文)或者这里(中文)。大部分时候,你可以简单地写成:- schedule: rate(1 hour)或者- schedule: cron(0 * * * ? *),这俩都是每小时跑一次的意思。
  • server_chan/sendgrid/ifttt/pushbullet: 设置推送的方式,现在只支持这4种,你也可以在notify.py自己添加自己喜欢的方式,大部分时候就是一个简单的POST。在config.yml.example里有怎么设置的各种key的解释,也可以通过设置环境变量的方式来设置这些推送方式的访问密钥。
  • websites: 这是最主要的配置部分。你可以在websites设置多个项目,每个都包含一个urlxpath,分别对应你要监控的网页和网页上页面元素对应的xpath。你要是不知道怎么获取xpath,用chrome打开对应的网页,在你想要监控变化的页面元素上邮件->审查元素->在对应html上邮件复制->复制xpath就好了。original就是你要监控的页面元素的初始值。

部署

得益于serverless,部署非常简单:

sls deploy

就可以了:tada::tada::tada: