摘要:提供個(gè)人博客文章搜索服務(wù)只需要配置個(gè)人博客地址載入博客數(shù)據(jù)開(kāi)啟服務(wù)即可開(kāi)啟文章搜索服務(wù)。對(duì)配置文件監(jiān)控修改后服務(wù)及時(shí)地更新博客數(shù)據(jù)。
Search-Spider-Blog
提供個(gè)人博客文章搜索服務(wù), 只需要配置個(gè)人博客地址, 載入博客數(shù)據(jù), 開(kāi)啟Server服務(wù), 即可開(kāi)啟文章搜索服務(wù)。
對(duì)blogconfig.json配置文件監(jiān)控, 修改后服務(wù)及時(shí)地更新博客數(shù)據(jù)。
本人用的為Hexo Blog, 所以Hexo用戶(hù)體驗(yàn)更佳
代碼地址
使用說(shuō)明
環(huán)境配置
# after clone && cd npm i
對(duì) blogconfig.json 進(jìn)行配置(以我個(gè)人博客為例)
{ "url": "http://moyuyc.github.io/", //blog url "mainPagePath": "/archives/", // 所有文章頁(yè)面(也就是第一頁(yè)) "spiderConfig": { "ArticleLinkEl": ".post-title-link", // 在"mainPagePath"中進(jìn)入文章頁(yè)面的超鏈接jQuery選擇器 "splitPagePath": "/archives/page/${page}/", // 所有文章分頁(yè)的規(guī)則, ${page}表示頁(yè)碼 "ArticleDateEl": "time", // 在文章頁(yè)面中日期的Jquery選擇器 "ArticleTitleEl": ".post-title", // 在文章頁(yè)面中標(biāo)題的Jquery選擇器 "ArticleContentEl": ".post-body" // 在文章頁(yè)面中內(nèi)容的Jquery選擇器 } }
腳本指令說(shuō)明
npm start # 開(kāi)啟Server服務(wù)(默認(rèn)端口7899, 可在scripts中修改), 開(kāi)啟后會(huì)自動(dòng)更新一次數(shù)據(jù) npm load # 更新博客數(shù)據(jù)
Server接口說(shuō)明
/load : 重新加載博客數(shù)據(jù)
/api/search/(:type) : type可選值為date/content/title/all, 根據(jù)什么來(lái)搜索, 參數(shù)格式為?q=想搜什么&n=數(shù)目(可選)
/api/search/all : 當(dāng)未傳q時(shí), 返回所有文章
2 3點(diǎn)中的返回?cái)?shù)據(jù)說(shuō)明 :
{ type: "title/date/content", articles: [ // 一般length為1 { title: "title", date: "date", content: "content", path: "/url" // 文章鏈接地址 相對(duì)的 } ], indexs: [] // 搜索到內(nèi)容的索引位置 }
注意: 提供了多關(guān)鍵詞的搜索, 如keyword1+keyword2 或者 keyword1 keyword2
可以根據(jù)自己的需求, 直接使用 /api/search/all 所有數(shù)據(jù)做為靜態(tài)數(shù)據(jù)進(jìn)行本地搜索, 或者使用search服務(wù)都可
工作流程爬取博客文章數(shù)據(jù), 保存至db.json中, 未使用數(shù)據(jù)庫(kù), 是為了輕量與方便移植, 而且只是提供個(gè)人服務(wù)
為了更好的拓展性, 使用cheerio, 使用jQuery選擇器 配置即可
獲取數(shù)據(jù)后, 便是搭建http服務(wù), 提供搜索接口, 為了方便用戶(hù)展示, 還提供了搜索到內(nèi)容的索引位置
效果查看文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90897.html
摘要:現(xiàn)在開(kāi)始創(chuàng)建一個(gè)包并分發(fā)給其他人使用,并確保遵循你迄今為止學(xué)到的標(biāo)準(zhǔn)和最佳實(shí)踐。第步實(shí)踐對(duì)于練習(xí),繼續(xù)編寫(xiě)單元測(cè)試,以完成目前為止所做的實(shí)際任務(wù),特別是你在步驟中所做的練習(xí)。 今天的Web開(kāi)發(fā)與幾年前完全不同,有很多不同的東西可以很容易地阻止任何人進(jìn)入Web開(kāi)發(fā)。這是我們決定制作這些循序漸進(jìn)的視覺(jué)指南的原因之一,這些指南展示了更大的圖景,并讓任何人清楚了解他們?cè)诰W(wǎng)頁(yè)開(kāi)發(fā)中扮演的角色。 ...
摘要:下載并安裝目前的最新穩(wěn)定版為,如果之后版本有升級(jí),請(qǐng)將相應(yīng)的版本號(hào)替換掉上面的。在實(shí)現(xiàn)的過(guò)程中,貌似對(duì)中文的支持不是那么好,所以接下來(lái)會(huì)嘗試使用一下中文分詞器來(lái)看看效果,順利的話(huà)會(huì)再出一篇文章。 原文來(lái)自:https://jellybool.com/post/setup-slasticsearch-on-your-website 在我的博客按Shift+S就可以呼出搜索框,可...
摘要:所以我已經(jīng)將服務(wù)遷移至上,有興趣的同學(xué)請(qǐng)移步最新的一篇博文博客訪(fǎng)問(wèn)量統(tǒng)計(jì)工具查看最新版本的使用方法。但是針對(duì)博客的訪(fǎng)問(wèn)量統(tǒng)計(jì),卻沒(méi)有什么可用的工具。 本文最初發(fā)布于我的個(gè)人博客:咀嚼之味 2016.04.23 通告: Hit Kounter 原本部署于 SAE 上,而近期 SAE 針對(duì)使用 MySQL 的應(yīng)用開(kāi)始收費(fèi)。本項(xiàng)目只是一個(gè)本人使用業(yè)余時(shí)間開(kāi)發(fā)的小工具;它本身包含的功能也很精...
閱讀 2486·2021-09-27 13:36
閱讀 2176·2019-08-29 18:47
閱讀 2143·2019-08-29 15:21
閱讀 1406·2019-08-29 11:14
閱讀 1991·2019-08-28 18:29
閱讀 1635·2019-08-28 18:04
閱讀 583·2019-08-26 13:58
閱讀 3222·2019-08-26 12:12