溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

發(fā)布時間:2021-11-23 22:23:25 來源:億速云 閱讀:272 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細講解有關vue中如何實現(xiàn)后臺進程定時爬取頭條文章,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

        首先打開后端項目,首先在項目根目錄創(chuàng)建文件background_task.js用于調取第三方API以及業(yè)務邏輯的處理,在dao層創(chuàng)建文件background_task.js用于數(shù)據(jù)庫業(yè)務邏輯處理。然后進入app.js,在頂部引入background_task.js文件:

var backgroudTask = require('./backgroud_task');

        然后在底部封裝startBackgroundTask()進行定時任務的調用:

app.startBackgroundTask = function() {    backgroudTask.start();}

        進入bin/www文件,調用app.startBackgroundTask();

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        進入項目根目錄的background_task文件,書寫進程啟動方法和停止方法,啟動的時候調用runOnce方法,在runOnce方法中實現(xiàn)爬取數(shù)據(jù)的業(yè)務邏輯。進程每15分鐘爬取一次:

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        接下來調用獲取新聞頭條的接口在路由層我們書寫方法get_news()直接調用dao層方法,然后在runOnce()中調用get_news(),將所有業(yè)務邏輯在dao層實現(xiàn):

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        進入dao層,書寫get_news()方法。首先調用第三方API獲取新聞數(shù)據(jù),發(fā)起請求之前封裝好了baseRequest()方法:

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        接下來調取第三方API獲取新聞數(shù)據(jù):

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        我們可以重啟服務看下控制臺輸出:

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        可以看到返回的每一條數(shù)據(jù)都有一個唯一的uniquekey,我們可以根據(jù)uniquekey參數(shù)判斷數(shù)據(jù)庫是否存在本篇文章來進行篩選重復數(shù)據(jù):

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        根據(jù)is_exist參數(shù)判斷本篇文章是否存在于數(shù)據(jù)庫,如果不存在則保存到數(shù)據(jù)庫:

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        我們插入文章數(shù)據(jù)時status設置為2,因為我們自己發(fā)表文章status設置為1。這里區(qū)分狀態(tài)碼是由于自己上傳的文章與爬取過來的文章參數(shù)不一致,需要對前端界面展示及后端接口進行適配。我們可以查看數(shù)據(jù)庫是否正常插入數(shù)據(jù):

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        接下來我們進入獲取文章列表接口,參數(shù)多返回url以及uniquekey

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        后臺管理文章列表只能返回當前用戶status1的文章,參數(shù)多返回url以及uniquekey

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        接下來回到vue項目,在首頁點擊閱讀全文的時候對status1則正常進入文章詳情界面,如果文章status2,則直接跳轉到對應文章的url

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

        到這里我們就成功實現(xiàn)一個進程實時同步第三方新聞頭條文章。并且對前端也做了適當適配,豐富了首頁板塊內容。我們最后可以看下目前的首頁效果:

vue中如何實現(xiàn)后臺進程定時爬取頭條文章

關于vue中如何實現(xiàn)后臺進程定時爬取頭條文章就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

vue
AI