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

資訊專欄INFORMATION COLUMN

Nodejs爬蟲--抓取豆瓣電影網(wǎng)頁數(shù)據(jù)(下)

legendaryedu / 1533人閱讀

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

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

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

首先用npm安裝第三方數(shù)據(jù)庫操作包:mongoose.

關(guān)于mongoose詳情請查看官方文檔

npm install --save-dev mongoose
引入mongoose包開始對mongodb進(jìn)行管理

當(dāng)前目錄下新建一個mongo.js文件方便管理,在該文件中引入相關(guān)包:

let mongoose = require("mongoose"),
    assert = require("assert");

獲取表構(gòu)造器Schema并映射mongodb相應(yīng)的collection
let Schema = mongoose.Schema;

let filmSchema = new Schema({       //自定義相應(yīng)的表數(shù)據(jù)字段
        title: String,
        type: String,
        directories: String,
        scriptwriter: String,
        actors: String
    });
//映射collection并生成model對象用于管理數(shù)據(jù)表的增刪改查
//默認(rèn)是映射到名為films的collection
//若自定義表明則:let filmSchema = new Schema({..}, { collection: "data" });  "data"即為自定義名稱
let Film = mongoose.model("Film", filmSchema);      
連接mongodb數(shù)據(jù)庫并exports Film對象
let db = mongoose.connect("mongodb://127.0.0.1:27017/spider");
db.connection.on("error", (err) => {
    console.log(`數(shù)據(jù)庫連接失敗:${err}`);
});
db.connection.on("open", () => {
    console.log("數(shù)據(jù)庫連接成功");
});

module.exports = {Film: Film};
在spider.js中引入Film對象并添加入庫操作代碼
let mongo = require("./mongo");
//在請求網(wǎng)頁的end函數(shù)中添加入庫操作
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);
                    });
});
            
運(yùn)行spider.js,并查看數(shù)據(jù)庫中的數(shù)據(jù)
node spider.js
//用上述提到的可視化工具查看數(shù)據(jù)庫是否成功有數(shù)據(jù)入庫

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/81504.html

相關(guān)文章

  • Nodejs爬蟲--抓取豆瓣電影網(wǎng)頁數(shù)據(jù)

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

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

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

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

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

    1fe1se 評論0 收藏0

發(fā)表評論

0條評論

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