Z Blog 爬蟲 node實現

2021-08-22 07:12:06 字數 1599 閱讀 6911

z-blog 爬蟲 node實現 目前正在**更新中

一、需求

幫朋友建站,指定用z-blog,安裝後,我發現採集文章不便,所以準備寫乙個node爬蟲,實現對友站文章的自動採集。

二、實現之前的思考

1、 熟悉z-blog資料庫

z-blog使用mysql資料庫,所以我需要知道z-blog資料庫結構。

2、node工具庫選型

請求庫想用superagent,規則提取用cheerio,併發控制用async,mysql資料庫操作用sequelize

3、後續

第一版,簡單寫,滿足自己的功能需求就行。若z-blog站點看到我文章,覺得也有爬蟲需求,我會嘗試寫乙個針對z-blog的採集框架。

三、開工 專案位址 z-blog-spider

1、初始化專案

yarn init
2、安裝工具庫

yarn add superagent cheerio sequelize mysql2
3、建立配置檔案config.js

const sequelize = require('sequelize');

module.exports.db_config =

}}

4、建立檔案db.js測試資料庫連通性(事先建立mode資料夾用於存放資料模型)

const fs = require('fs');

const path = require('path');

const sequelize = require('sequelize');

const = require('./config');

const sequelize = new sequelize(db_config.database, db_config.username, db_config.password, db_config.config);

sequelize

.authenticate()

.then(() => )

.catch(err => );

const db = {};

fs .readdirsync(path.join(__dirname, './model'))

.foreach(function

(file) );

object.keys(db).foreach(function

(modelname)

}});

db.sequelize = sequelize;

db.sequelize = sequelize;

module.exports = db;

5、建立index.js檔案,程式入口

const db = require('./db.js')
開啟命令列執行node index.js

不出意外會列印資料庫連線成功,說明準備工作完成。

Node 簡單爬蟲

以爬慕課網hadoop高階課程為例,用node寫乙個簡單的爬蟲 先抓取這個 的原始碼 然後分析這個頁面的dom,如圖 每大章節都被乙個chapter包圍,抓取下來就是乙個陣列,對每個item,這張的大標題在strong裡面,每章的小章節在video標籤裡,然後小標題就是j media item的te...

node爬蟲實踐

爬蟲的原理很好理解,就是在服務端請求另乙個伺服器的資源,前端有跨域問題,而服務端沒有,這是天然優勢。掌握node的前端可以為所欲為了 1 首先,根據請求資源的協議選擇合適的模組,如果是https協議,就用https的方法取請求,之前沒有注意到這個問題。var https require https ...

Node爬蟲實踐

爬蟲的原理很好理解,就是在服務端請求另乙個伺服器的資源,前端有跨域問題,而服務端沒有,這是天然優勢。掌握node的前端可以為所欲為了。1 首先,根據請求資源的協議選擇合適的模組,比如csdn是https協議,就用https的方法取請求,之前沒有注意到這個問題。var https require ht...