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
1
2
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如下:
之后即可看到搜索框中有数据出来了
————————————————
版权声明:本文为CSDN博主「码农研究僧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47872288/article/details/125065396
相关文章