国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nodejs爬蟲--抓取豆瓣電影網頁數據(下)

techstay / 2388人閱讀

摘要:接著上篇爬蟲抓取豆瓣電影網頁數據上本篇主要描述將上次抓取的數據存入數據庫前提百度或谷歌的安裝教程,安裝本地并成功運行推薦一款數據庫可視化管理工具。

接著上篇 Nodejs爬蟲--抓取豆瓣電影網頁數據(上)
本篇主要描述將上次抓取的數據存入mongodb數據庫

前提:百度或谷歌mongodb的安裝教程,安裝本地并成功運行
推薦一款mongodb數據庫可視化管理工具:Robomongo。可以加群264591039獲取安裝包或自行尋找資源

首先用npm安裝第三方數據庫操作包:mongoose.

關于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爬蟲--抓取豆瓣電影網頁數據

    摘要:接著上篇爬蟲抓取豆瓣電影網頁數據上本篇主要描述將上次抓取的數據存入數據庫前提百度或谷歌的安裝教程,安裝本地并成功運行推薦一款數據庫可視化管理工具。 接著上篇 Nodejs爬蟲--抓取豆瓣電影網頁數據(上) 本篇主要描述將上次抓取的數據存入mongodb數據庫 前提:百度或谷歌mongodb的安裝教程,安裝本地并成功運行 推薦一款mongodb數據庫可視化管理工具:Robomongo...

    legendaryedu 評論0 收藏0
  • nodejs練手爬蟲+API測試

    摘要:知乎日報代理首先感謝提供的分析使用詳情請參考他提供的參數和地址代理轉發的使用為前綴進入代理路由啟動界面圖像獲取后為圖像分辨率,接受任意的格式,為任意非負整數,返回值均相同返回值示例最新消息等具體參考提供的分析中的使用方式以及參數含義。 項目說明 這是一個基于express的node后端API服務,當時只是想抓取字幕組網站的下載資源,以備以后通過nas的方式去自動下載關注的美劇。不過后來...

    bigdevil_s 評論0 收藏0
  • 爬蟲 - 收藏集 - 掘金

    摘要:在這之前,還是有必要對一些概念超輕量級反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標配系統。 爬蟲修煉之道——從網頁中提取結構化數據并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個爬取多頁面的網絡爬蟲主要講解了如何使用python編寫一個可以下載多頁面的爬蟲,如何將相對URL轉為絕對URL,如何限速,...

    1fe1se 評論0 收藏0

發表評論

0條評論

techstay

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<