NetWatch数据采集器(浏览器扩展程序)配置说明

455次阅读
没有评论

简介

  1. NetWatch浏览器扩展通过监听浏览器的网络的方式监听接口数据,旨在模拟真实用户采集目标网站的数据、开始采集前需先正常登录(若需要登录)目标网站;
  2. NetWatch不支持采集非接口调用的后端渲染页面(这类页面的爬虫采集程序已经很多了,不是本程序的产品定位);
  3. 采集器运行后关闭浏览器会立即结束采集任务。

插件下载安装地址:开发中,敬请期待。。。

配置文件

NetWatch的配置文件是标准json文件,如下内容便是一个完整的配置文件:

// 配置项默认值及说明
{
    “interval”: {“min”:1000, “max”:2000},           // 触发器执行的间隔时间范围,基于此范围生成随机数
    “sleep”: {“total”: 1000, “sleep”:  3600000},   // 爬取total条数据后休眠sleep秒
    “procedures”: [                                                      // 爬取数据的过程,通过此字段可自定义request的执行过程
        {
            “name”: “getQrCode”                                   // 方法名(request.name)
        },
        {
            “name”: “getGroups”
        }
    ],
    “apiToken”: “{Your http api token}”,               // 后端接口的token,会作为参数追加到请求中
    “requests”: [
        {
            “name”: “getGroups”,
            “filter”: {
                “path”: “/app/index.php”,
                “query”: { “s”: “Home/index/index2022”}
            },
            “trigger”: {
                “type”: “scroll”,
                “selector”: “html”
            },
            “handler”: {
                “action”: “callHttpApi”,
                “type”: “http”,
                “method”: “post”,
                “url”: “http://127.0.0.1/wp-json/ss_app/netWatch”,
                “data”: {
                    “data”: “@list@”      // 读取目标接口响应数据的值,@符号之间是标准的js变量取值表达式,
                }
            }
        },
        {
            “name”: “getQrCode”,
            “filter”: {
                “path”: “/app/index.php”,
                “query”: { “s”: “Home/index/huanqun” }
            },
            “trigger”: {
                “type”: “click”,
                “each”:”append”,
                “selector”: “body > uni-app > uni-page > uni-page-wrapper > uni-page-body > uni-view > uni-view:nth-child(8) > uni-view.margin-top > uni-view:nth-child(1) > uni-view:nth-child(1) > uni-view > uni-view > uni-view.flex.flex-sub.justify-between.solid-bottom.padding-tb-sm.margin-left > uni-view:nth-child(2) > uni-view > uni-view > uni-button”
            },
            “handler”: {
                “type”: “callHttpApi”,
                “method”: “patch”,
                “url”: “http://127.0.0.1/wp-json/ss_app/netWatch”,
                “data”: {
                    “id”: “@id@”,
                    “qrcode”: {
                        “valueType”: “scan”,
                        “selector”: “body > uni-app > uni-page > uni-page-wrapper > uni-page-body > uni-view > uni-view:nth-child(8) > uni-view.margin-top > uni-view:nth-child(3) > uni-view > uni-view > uni-view.padding-sm > uni-view.u-icon.u-icon–right > uni-image > img”
                    }
                }
            },
            “before”: {
                “type”: “click”,
                “selector”: “body > uni-app > uni-page > uni-page-wrapper > uni-page-body > uni-view > uni-view:nth-child(8) > uni-view.margin-top > uni-view:nth-child(1) > uni-view:nth-child(2) > uni-view.cu-modal.show > uni-view > uni-view.cu-bar.bg-white.justify-end > uni-view.action > uni-text”
            }
        }
    ]
}

触发器(trigger)

触发器用于触发页面的数据接口,一般为滚动window或某个元素、点击下一页按钮等。

过滤器(filter)

过滤器用于过滤http请求,无过滤器则会将所有接口的数据传递给处理器。

处理器(handler)

处理器用于处理数据、比如保存、http接口传递等

 

facingscreen
版权声明:本站原创文章,由 facingscreen2024-07-13发表,共计2539字。
转载说明:本文为搜栈网原创文章,除特殊说明外皆由CC-4.0协议发布,转载请注明出处,如有帮助欢迎打赏。
评论(没有评论)
验证码