多语言展示
当前在线:1792今日阅读:168今日分享:49

爬虫全教程:仔细 node.js 爬虫全过程!(二)

网络爬虫,以前都语言 Python 做爬虫比较多,现在是时候学习使用 nodejs 爬虫了~由于篇幅过长,本教程分为多节~
工具/原料
1

电脑

2

nodejs

本章学习

1. 初始化项目,项目框架搭建2. express 后端福气框架搭建2. 各个包安装

一、项目搭建
1

① 初始化项目```bash   # 初始化   $ mkdir # 本地目录创建一个空文件夹   $ cd    $ npm init # 使用 npm 初始化一个 package.json 文件   $ yarn init # 使用 yarn 初始化一个 package.json 文件                    # (yarn 也可以初始化的)```初始化项目之后,得到这样一个项目结构package.jsonreadme.md.babelrcyarn.lock

2

② 添加其他文件夹添加一个 src 文件夹,用于存放源码,以及其他文件。* src 文件夹根目录下创建一个 index.js 文件,作为 入口文件* 其他的文件夹为自定义,根据自己的需求,喜好定义  (如果是团队项目,根据团队要求)* 这里我的定义   img 用于存放图片  views 用于存放前端页面  utils 用于存放工具集 js文件 END

二、express 搭建

web 应用框架(web 后端,本地服务器):         express 很普遍,【koa 挺好、egg 企业级的在用】      express 启动一个简单的 Http 服务分析目标页面 DOM 结构,       启动一个服务框架,这个框架封装了 node 的 http 服务。const express = require('express');import Login from './utils/login.js'const app = express(); //实例化了一个 express 对象 app// 登录app.get('/login', async (req, res, next) => {   // 请求 req 与 响应 res   //res.send('hello'); 往浏览器页面发送数据   //res.setHeader('Content-Type', 'text/html'); 设置请求头   //res.redirect('/login'); 路由跳转    Login.login(res, req.query.username, req.query.password)});类似的还有其他的 http 方法,post,使用 app.post 这样来做。具体可以去学习 express 框架

三、包安装

① `数据库` 选择:      MySQL、MongoDB 都可以,    这里选择 `MongoDB 相对简单`,也可以使用 `mongoose`② `插件和中间件`:    将应用于数据库连接起来③ `superagent`:     找到所要抓取的信息的相关 DOM 元素使用 `superagent 请求目标页面`④ cheerio`:     使用 cheerio 获取页面元素,获取目标数据, `解析 html 文件,获取目标元素,文本`以下如果有需求的话:⑤` puppeteer 模块   `puppeteer`:动态页面,可以使用 `puppeteer 模拟浏览器访问`,⑥ `canvas`:    node-canvas 动画,可以用于 `动画方面,例如登录滑块验证`⑦ `resemblejs`:    获得两个图片的 diff 结果

注意事项
1

包安装:可以在后面编写代码的时候有需要再来安装也可以的,

2

这里只是放置了我们可能需要用的包,nodejs 有很多很多的包,根据自己需求去搜索来使用

推荐信息