Huginn+Microsoft Form——An Own Visible Cloud Scrape Solution


Huginn有着强大的采集功能,利用webhook agent完成批量输入,Microsoft Form存储输出。这里以采集Oxford的word origin为例。

总体的流程:SHELL–>webhook agent–>website agent–>post agent–>Microsoft Form
另外除了Microsoft Form,还可以使用其他的在线表单系统或是支持REST API的在线数据库。

新建表单

Long Answer确保采集内容过长时不会出现问题,anyone with the link can respond确保后期post agent方便提交表单

创建agent

webhook agent只能接收json格式的post请求包,可以利用curl的bash脚本批量提交。将下面代码中的link改成自己的webhook link,并保存成webhook.sh,并且与task.txt(按行保存需要采集的网站)同目录。其中while 函数用来读取task.txt的每一行,作为变量task的赋值,curl实现以json格式发送post请求包。

bash webhook.sh运行脚本。
webhook agent,其中payload_path利用的是JSONPath的规则:

运行获得的events:

website agent,其中mode为merge表示将上一级webhook agent的url参数向下一级post agent传递,extract表示要提取的内容,提取可以利用CSS选择器和Xpath选择器。由于有些单词没有word origin,不会创建events,这样不利于后期与漏掉的单词区分。因此,可以多创建一个字段,提取每个页面都存在的元素,比如单词。

浏览器的F12调出开发者工具栏,切换至网络选项卡,抓Microsoft Form的post请求包。

如果采集内容包含英文字符下的\,需要替换成\\\”,防止Microsoft Form出错(其他在线表单系统是否有这种限制自行测试)。post agent:

下载表单


Leave a Reply

Your email address will not be published. Required fields are marked *