首页 > 软件开发 > 编程语言 >

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

来源:互联网 2023-03-17 00:26:37 版权归原作者所有,如有侵权,请联系我们

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

网络爬虫,以前都语言 Python 做爬虫比较多,现在是时候学习使用 nodejs 爬虫了~ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

由于篇幅过长,本教程分为多节~ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

ihY办公区 - 实用经验教程分享!

爬虫全教程:仔细 node.js 爬虫全过程!(二)ihY办公区 - 实用经验教程分享!

工具/原料

  • 电脑
  • nodejs

本章学习

  • 1

    1. 初始化项目,项目框架搭建ihY办公区 - 实用经验教程分享!

    2. express 后端福气框架搭建ihY办公区 - 实用经验教程分享!

    2. 各个包安装ihY办公区 - 实用经验教程分享!

    爬虫全教程:仔细 node.js 爬虫全过程!(二)ihY办公区 - 实用经验教程分享!

  • 1该信息未经许可获取自百度经验
  • 一、项目搭建

    • ihY办公区 - 实用经验教程分享!

      ① 初始化项目ihY办公区 - 实用经验教程分享!

      ihY办公区 - 实用经验教程分享!

      ```bashihY办公区 - 实用经验教程分享!

      # 初始化ihY办公区 - 实用经验教程分享!

      $ mkdir dir-name> # 本地目录创建一个空文件夹ihY办公区 - 实用经验教程分享!

      $ cd dir-name>ihY办公区 - 实用经验教程分享!

      $ npm init # 使用 npm 初始化一个 package.json 文件ihY办公区 - 实用经验教程分享!

      $ yarn init # 使用 yarn 初始化一个 package.json 文件ihY办公区 - 实用经验教程分享!

      # (yarn 也可以初始化的)ihY办公区 - 实用经验教程分享!

      ```ihY办公区 - 实用经验教程分享!

      ihY办公区 - 实用经验教程分享!

      初始化项目之后,得到这样一个项目结构ihY办公区 - 实用经验教程分享!

      ihY办公区 - 实用经验教程分享!

      package.jsonihY办公区 - 实用经验教程分享!

      readme.mdihY办公区 - 实用经验教程分享!

      .babelrcihY办公区 - 实用经验教程分享!

      yarn.lockihY办公区 - 实用经验教程分享!

      爬虫全教程:仔细 node.js 爬虫全过程!(二)ihY办公区 - 实用经验教程分享!

    • ihY办公区 - 实用经验教程分享!

      ② 添加其他文件夹ihY办公区 - 实用经验教程分享!

      ihY办公区 - 实用经验教程分享!

      添加一个 src 文件夹,用于存放源码,以及其他文件。ihY办公区 - 实用经验教程分享!

      ihY办公区 - 实用经验教程分享!

      * src 文件夹根目录下创建一个 index.js 文件,作为 入口文件ihY办公区 - 实用经验教程分享!

      * 其他的文件夹为自定义,根据自己的需求,喜好定义ihY办公区 - 实用经验教程分享!

      (如果是团队项目,根据团队要求)ihY办公区 - 实用经验教程分享!

      * 这里我的定义ihY办公区 - 实用经验教程分享!

      img 用于存放图片ihY办公区 - 实用经验教程分享!

      views 用于存放前端页面ihY办公区 - 实用经验教程分享!

      utils 用于存放工具集 js文件ihY办公区 - 实用经验教程分享!

      爬虫全教程:仔细 node.js 爬虫全过程!(二)ihY办公区 - 实用经验教程分享!

    二、express 搭建

  • 1

    web 应用框架(web 后端,本地服务器): ihY办公区 - 实用经验教程分享!

    express 很普遍,【koa 挺好、egg 企业级的在用】ihY办公区 - 实用经验教程分享!

    express 启动一个简单的 Http 服务分析目标页面 DOM 结构,ihY办公区 - 实用经验教程分享!

    启动一个服务框架,这个框架封装了 node 的 http 服务。ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    const express = require('express');ihY办公区 - 实用经验教程分享!

    import Login from './utils/login.js'ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    const app = express(); //实例化了一个 express 对象 appihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    // 登录ihY办公区 - 实用经验教程分享!

    app.get('/login', async (req, res, next) => {ihY办公区 - 实用经验教程分享!

    // 请求 req 与 响应 resihY办公区 - 实用经验教程分享!

    //res.send('hello'); 往浏览器页面发送数据ihY办公区 - 实用经验教程分享!

    //res.setHeader('Content-Type', 'text/html'); 设置请求头ihY办公区 - 实用经验教程分享!

    //res.redirect('/login'); 路由跳转ihY办公区 - 实用经验教程分享!

    Login.login(res, req.query.username, req.query.password)ihY办公区 - 实用经验教程分享!

    });ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    类似的还有其他的 http 方法,post,使用app.post 这样来做。具体可以去学习 express 框架ihY办公区 - 实用经验教程分享!

    爬虫全教程:仔细 node.js 爬虫全过程!(二)ihY办公区 - 实用经验教程分享!

    爬虫全教程:仔细 node.js 爬虫全过程!(二)ihY办公区 - 实用经验教程分享!

  • 三、包安装

  • 1

    ① `数据库` 选择: ihY办公区 - 实用经验教程分享!

    MySQL、MongoDB 都可以,ihY办公区 - 实用经验教程分享!

    这里选择 `MongoDB 相对简单`,也可以使用 `mongoose`ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    ② `插件和中间件`:ihY办公区 - 实用经验教程分享!

    将应用于数据库连接起来ihY办公区 - 实用经验教程分享!

    ③ `superagent`:ihY办公区 - 实用经验教程分享!

    找到所要抓取的信息的相关 DOM 元素使用 `superagent 请求目标页面`ihY办公区 - 实用经验教程分享!

    ④ cheerio`:ihY办公区 - 实用经验教程分享!

    使用 cheerio 获取页面元素,获取目标数据, `解析 html 文件,获取目标元素,文本`ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    ihY办公区 - 实用经验教程分享!

    以下如果有需求的话:ihY办公区 - 实用经验教程分享!

    ⑤` puppeteer 模块ihY办公区 - 实用经验教程分享!

    `puppeteer`:动态页面,可以使用 `puppeteer 模拟浏览器访问`,ihY办公区 - 实用经验教程分享!

    ⑥ `canvas`:ihY办公区 - 实用经验教程分享!

    node-canvas 动画,可以用于 `动画方面,例如登录滑块验证`ihY办公区 - 实用经验教程分享!

    ⑦ `resemblejs`:ihY办公区 - 实用经验教程分享!

    获得两个图片的 diff 结果ihY办公区 - 实用经验教程分享!

    爬虫全教程:仔细 node.js 爬虫全过程!(二)ihY办公区 - 实用经验教程分享!

  • 注意事项

    • 包安装:可以在后面编写代码的时候有需要再来安装也可以的,
    • 这里只是放置了我们可能需要用的包,nodejs 有很多很多的包,根据自己需求去搜索来使用

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!ihY办公区 - 实用经验教程分享!


    标签: 编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号