摘要:接著上篇爬蟲抓取豆瓣電影網頁數據上本篇主要描述將上次抓取的數據存入數據庫前提百度或谷歌的安裝教程,安裝本地并成功運行推薦一款數據庫可視化管理工具。
接著上篇 Nodejs爬蟲--抓取豆瓣電影網頁數據(上)
本篇主要描述將上次抓取的數據存入mongodb數據庫
前提:百度或谷歌mongodb的安裝教程,安裝本地并成功運行
推薦一款mongodb數據庫可視化管理工具:Robomongo。可以加群264591039獲取安裝包或自行尋找資源
關于mongoose詳情請查看官方文檔
npm install --save-dev mongoose引入mongoose包開始對mongodb進行管理
當前目錄下新建一個mongo.js文件方便管理,在該文件中引入相關包:
let mongoose = require("mongoose"), assert = require("assert");獲取表構造器Schema并映射mongodb相應的collection
let Schema = mongoose.Schema; let filmSchema = new Schema({ //自定義相應的表數據字段 title: String, type: String, directories: String, scriptwriter: String, actors: String }); //映射collection并生成model對象用于管理數據表的增刪改查 //默認是映射到名為films的collection //若自定義表明則:let filmSchema = new Schema({..}, { collection: "data" }); "data"即為自定義名稱 let Film = mongoose.model("Film", filmSchema);連接mongodb數據庫并exports Film對象
let db = mongoose.connect("mongodb://127.0.0.1:27017/spider"); db.connection.on("error", (err) => { console.log(`數據庫連接失敗:${err}`); }); db.connection.on("open", () => { console.log("數據庫連接成功"); }); module.exports = {Film: Film};在spider.js中引入Film對象并添加入庫操作代碼
let mongo = require("./mongo"); //在請求網頁的end函數中添加入庫操作 xxxx.end((err, res) => { var $ = cheerio.load(res.text); //用cheerio獲取整個頁面DOM對象 var _data = {title:"", type: "", directories: "", scriptwriter: "", actors: ""}; _data.title = $("#content h1 span").text(); _data.directories = $("#info .attrs").eq(0).text(); _data.scriptwriter = $("#info .attrs").eq(1).text(); _data.actors = $("#info .attrs").eq(2).text(); $("span[property="v:genre"]").each(function (index) { _data.type += ($(this).text() + (index == $("span[property="v:genre"]").length - 1 ? "" : "、")); }); console.log(_data); mongo.Film.create(_data, (err, doc) => { assert.equal(err, null); console.log(doc); }); });運行spider.js,并查看數據庫中的數據
node spider.js //用上述提到的可視化工具查看數據庫是否成功有數據入庫
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/18947.html
摘要:接著上篇爬蟲抓取豆瓣電影網頁數據上本篇主要描述將上次抓取的數據存入數據庫前提百度或谷歌的安裝教程,安裝本地并成功運行推薦一款數據庫可視化管理工具。 接著上篇 Nodejs爬蟲--抓取豆瓣電影網頁數據(上) 本篇主要描述將上次抓取的數據存入mongodb數據庫 前提:百度或谷歌mongodb的安裝教程,安裝本地并成功運行 推薦一款mongodb數據庫可視化管理工具:Robomongo...
摘要:知乎日報代理首先感謝提供的分析使用詳情請參考他提供的參數和地址代理轉發的使用為前綴進入代理路由啟動界面圖像獲取后為圖像分辨率,接受任意的格式,為任意非負整數,返回值均相同返回值示例最新消息等具體參考提供的分析中的使用方式以及參數含義。 項目說明 這是一個基于express的node后端API服務,當時只是想抓取字幕組網站的下載資源,以備以后通過nas的方式去自動下載關注的美劇。不過后來...
摘要:在這之前,還是有必要對一些概念超輕量級反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標配系統。 爬蟲修煉之道——從網頁中提取結構化數據并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個爬取多頁面的網絡爬蟲主要講解了如何使用python編寫一個可以下載多頁面的爬蟲,如何將相對URL轉為絕對URL,如何限速,...
閱讀 2974·2021-10-27 14:16
閱讀 696·2021-10-13 09:39
閱讀 3671·2021-09-29 09:46
閱讀 2090·2019-08-30 15:54
閱讀 2597·2019-08-30 15:52
閱讀 2994·2019-08-30 15:44
閱讀 1103·2019-08-30 15:44
閱讀 497·2019-08-30 10:51