栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Algolia Search利用DOCSEARCH配置个人网站数据到后台(图文解析)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Algolia Search利用DOCSEARCH配置个人网站数据到后台(图文解析)

目录
  • 前言
  • 1. 配置环境
  • 2. 从docker爬取
  • 3. 集成化

前言

写这篇文章的意义,如果后续有人用到这个框架,可以少走一些弯路,防止出错

主要用这个框架配合algolia来爬取个人网站数据到后台,通过搜索框来输出显示信息
本文的讲解主要通过docker进行配置,如果有其他配置需求可看官网文档

之所以不用官方的数据,是因为:不符合爬取的名单中,所以可能需要自己运行爬虫。
DocSearch 的整个代码库都是开源的,我们将其打包为 Docker 镜像,以便您更轻松地使用它

1. 配置环境

先在algolia官网进行注册个人信息,以及配置一个index,这些都比较基本,官网也有,本文主要讲解核心配置

最主要的两个key如下配置:

  • APPLICATION_ID设置为您的 Algolia 应用程序 ID

  • API_KEY设置为您的 API 密钥。确保使用对索引具有写入权限的 API 密钥。它需要ACLaddObject和editSettings.deleteIndex

通过服务器,我在我的目录下建立了.env文件
内容如下:

APPLICATION_ID=YOUR_APP_ID
API_KEY=YOUR_API_KEY
2. 从docker爬取

运行的时候要装一个jq包(不是jquery,一开始就搞错对象了),具体我是通过0install进行安装
命令如下:0install add jq https://apps.0install.net/utils/jq.xml

如果不成功,具体可看官网安装jq比较详细的链接:安装jq

之后还是在我的目录下配置一个文档:(名字如下 config.json)
具体配置文件的详细文档可看:配置文档
类似的文档官网也给出了一个demo:

{
  "index_name": "example",
  "start_urls": ["https://www.example.com/docs"],
  "selectors": {
    "lvl0": "#content header h1",
    "lvl1": "#content article h1",
    "lvl2": "#content section h3",
    "lvl3": "#content section h4",
    "lvl4": "#content section h5",
    "lvl5": "#content section h6",
    "text": "#content header p,#content section p,#content section ol"
  }
}

index_name最后会成为algolia的一个index
start_urls为爬取网站的链接
selectors为选择器,主要的选择器类似html中的css

一开始我将其选择器理解错意思,导致一直出不来数据
所以通过个人网站点击f12进行查看使用到了什么选择器,想爬取什么选择器,一一进行填写即可

{
    "index_name":"prod_ccaudio",
    "start_urls": [
    "https://xxx.com"
    ],
    "selectors": {
      "lvl0": "header h1",
      "lvl1": "header h2",
      "lvl2": "header h3",
      "lvl3": "header h4",
      "lvl4": "header h5",
      "text": "p"
    }

}

之后执行docker镜像
命令如下:docker run -it --env-file=.env -e "CONFIG=$(cat /home/xxx/docsearch/config.json | jq -r tostring)" algolia/docsearch-scraper

之后界面就会显示有records记录的上传
截图类似如下:

之后就可在algolia的记录中查看到上传的结果

3. 集成化

要在网页中通过搜索框爬取网站的数据,也就是上个步骤的所有数据
需要在docusaurus中配置algolia的代码模块:

algolia: {
        appId: 'xxx',
        apiKey: 'xxx',
        indexName: 'prod_ccaudio',
        searchPagePath: false,
        contextualSearch: false,
        searchParameters: {}
      },

关于上面的数据,appID为如下:

apiKey如下:

之后即可看到搜索框中有数据出来了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/940620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号