成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

為你的博客添加搜索功能吧!

vboy1010 / 3531人閱讀

摘要:提供個(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

相關(guān)文章

  • 現(xiàn)代后端開(kāi)發(fā)者必備技能-2018版

    摘要:現(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ā)中扮演的角色。 ...

    eternalshallow 評(píng)論0 收藏0
  • 你的站點(diǎn)插上ElasticSearch的翅膀

    摘要:下載并安裝目前的最新穩(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就可以呼出搜索框,可...

    JouyPub 評(píng)論0 收藏0
  • 你的博客添加訪(fǎng)問(wèn)量統(tǒng)計(jì)

    摘要:所以我已經(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ā)的小工具;它本身包含的功能也很精...

    gekylin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<