摘要:更新于利用重構了下此項目,有興趣的可以參考看看,傳送門首先感謝作者的分享,很贊,原文地址這里記錄下編碼遇到的問題,這里只針對進行了驗證。
更新于 2019-01-02
利用 eggjs 重構了下此項目,有興趣的可以參考看看,傳送門
首先感謝作者的分享,很贊~,原文地址
這里記錄下編碼遇到的問題,這里只針對 sever 進行了驗證。有同樣遇到問題的童鞋,可以作為參照~
本地環境:
Node: v10.13.0
OS: window 7
npm: 6.4.1
問題一(mongoose相關)
問題描述:DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
解決方案:
mongoose.connect(config.dbUri, { useCreateIndex: true, useNewUrlParser: true }) 或者 mongoose.set("useCreateIndex", true) mongoose.connect(config.dbUri, { useNewUrlParser: true })
對應的源碼文件 kendou-book/book-server/server/database/init.js,涉及修改的代碼如下:
... + var opts = { + useCreateIndex: true, + useNewUrlParser: true + }; - mongoose.connect(db); + mongoose.connect(db, opts);
問題描述:DeprecationWarning: collection.count is deprecated
解決方案:
底層的mongodb驅動程序已棄用.count()方法。您應該使用.estimatedDocumentCount()或.countDocuments()代替。
對應的源碼文件 kendou-book/book-server/server/tasks/runninng.js,涉及修改的代碼如下:
... // 激活爬數據 為下一次服務 await taskBook(item.bookId) let count = await Chapter.find({ bookId: item.bookId - }).count() + }).countDocuments()
問題二(puppetter 相關)
問題描述:ERROR: Failed to download Chromium r588429! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
解決方案:
vi .npmrc type puppeteer_download_host = https://npm.taobao.org/mirrors yarn add puppeteer -D or npm i puppeteer --save-dev
問題描述:(node:19996) UnhandledPromiseRejectionWarning: TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded
解決方案:
對應的源碼文件 kendou-book/book-server/server/crawler/book.js,涉及修改的代碼如下:
... console.log("bookkkk:", browser) const page = await browser.newPage() await page.goto(url, { waitUntil: "networkidle2", + timeout: 3000000 })
對應的源碼文件 kendou-book/book-server/server/crawler/chapter.js,涉及修改的代碼如下:
... const page = await browser.newPage() await page.goto(url, { waitUntil: "networkidle2", + timeout: 3000000 })
問題三(源碼瑕疵)
問題描述:定義 book 的 schema 的時候,字段(author)拼寫錯誤
解決方案:
對應的源碼文件 kendou-book/book-server/server/database/schema/book.js,涉及修改的代碼如下:
... - auhtor: { type: String }, + author: { type: String },
對應的源碼文件 kendou-book/book-server/server/crawler/book.js,涉及修改的代碼如下:
... let result = await page.evaluate(() => { return { headImg: document.querySelector(".story_cover_m62topxs img").getAttribute("src"), name: document.querySelector(".info_left_m62topxs h1").innerText, - auhtor: document.querySelector(".info_left_m62topxs h2 a").innerText, + auhtor: document.querySelector(".info_left_m62topxs h2 a").innerText, chapterNum: document.querySelectorAll(".cp_dd_m62topxs").length } })
參考鏈接:
mongoose相關
mongoose相關
puppetter安裝就踩坑-解決篇
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/100364.html
摘要:前言根據慕課網實現電影微信公眾號前后端開發學習后的改造由于上下班期間會看會小說,但是無奈廣告太多,還要收費,于是結合課程,進行開發,并上傳到自己的微信小程序。 前言:根據慕課網 Koa2 實現電影微信公眾號前后端開發 學習后的改造 由于上下班期間會看會小說,但是無奈廣告太多,還要收費,于是結合課程,進行開發,并上傳到自己的微信小程序。 showImg(https://segment...
摘要:平日學習接觸過的網站積累,以每月的形式發布。年以前看這個網址概況在線地址前端開發群月報提交原則技術文章新的為主。 平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 概況 在線地址:http://www.kancloud.cn/jsfront/month/82796 JS前端開發群月報 提交原則: 技...
摘要:平日學習接觸過的網站積累,以每月的形式發布。年以前看這個網址概況在線地址前端開發群月報提交原則技術文章新的為主。 平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 概況 在線地址:http://www.kancloud.cn/jsfront/month/82796 JS前端開發群月報 提交原則: 技...
摘要:平日學習接觸過的網站積累,以每月的形式發布。年以前看這個網址概況在線地址前端開發群月報提交原則技術文章新的為主。 平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 概況 在線地址:http://www.kancloud.cn/jsfront/month/82796 JS前端開發群月報 提交原則: 技...
閱讀 3262·2021-10-13 09:39
閱讀 2019·2021-09-27 13:36
閱讀 3081·2021-09-22 16:02
閱讀 2604·2021-09-10 10:51
閱讀 1586·2019-08-29 17:15
閱讀 1537·2019-08-29 16:14
閱讀 3514·2019-08-26 11:55
閱讀 2558·2019-08-26 11:50