• js爬虫心得


    第一步:分析要爬的网站:包括是否需要登陆、点击下一页的网址变化、下拉刷新的网址变化等等
    第二步:根据第一步的分析,想好爬这个网站的思路
    第三步:爬好所需的内容 保存

    爬虫过程中用到的一些包:

    (1)const request =  require('superagent'); // 处理get post put delete head 请求  轻量接http请求库,模仿浏览器登陆

    (2)const cheerio = require('cheerio'); // 加载html
    (3)const fs = require('fs'); // 加载文件系统模块 将数据存到一个文件中的时候会用到

    fs.writeFile('saveFiles/zybl.txt', content, (error1) => { // 将文件存起来 文件路径 要存的内容 错误
    if (error1) throw error1;
    // console.log(' text save ');
    });

    this.files = fs.mkdir('saveFiles/simuwang/xlsx/第' + this.page + '页/', (error) => {
    if (error) throw error;
    }); //创建新的文件夹
    //向新的文件夹里面创建新的文件
    const writeStream = fs.createWriteStream('saveFiles/simuwang/xlsx/' + '第' + this.page + '页/' + xlsxTitle + '.xlsx', ['a']);
    //向新的文件里面写入内容
    for (let i = 0; i < value1.length; i += 1) {
    writeStream.write(xlsxTitle + ' ' + this.getLocalTime(value1[i][0] / 1000)
    + ' ' + value1[i][1] + ' ' + this.getLocalTime(value2[i][0] / 1000)
    + ' ' + value2[i][1] + ' ' + this.getLocalTime(value3[i][0] / 1000)
    + ' ' + value3[i][1] + ' ');
    }
    //写入完内容之后及时关闭流,如果不关闭,当爬取很多的文件的时候会出现错误,文件里面写不进去内容
    writeStream.end();

    (4)const fs = require('graceful-fs'); // 将文件存为xlse

    const writeStream = fs.createWriteStream('saveFiles/trader.xlsx'); //新建xlsx文件

    writeStream.write(title);//像slsx里面写入内容

    (5)const Promise = require('bluebird'); //异步处理

    (6)const Nightmare = require('nightmare');//一个高层次的浏览器自动化图书馆 先要安装phantomjs 然后在装nightmare

    (7)const co = require('co');

    爬虫的相关思路:

    (1)获取首页面的所需内容
    (2)在首页面的所有内容里面获取所需内容的链接
    (3)将(2)里面的链接存到一个list里面去
    (3)新写一个function,采用.pop()方法,用来取通过链接得到的新的内容
    (4)判断list.length是否大于0,
    (5)如果不是,开始爬子页面 并且调用该方法
    (6)如果list的长度为0,就说明这一页爬完了,开始下一页,则将url改变
    (7)重复(2)(3)(4)(5)(6)直至所有页面爬完
  • 相关阅读:
    TCP为什么是个可靠的协议
    socket网络编程快速上手(二)——细节问题(4)
    socket网络编程快速上手(二)——细节问题(3)
    socket网络编程快速上手(二)——细节问题(2)
    socket网络编程快速上手(二)——细节问题(1)
    socket网络编程快速上手(一)
    多线程编程中使用pthread_create内存泄露问题
    股市量化智能分析2035
    忘记mysql root密码的解决方法
    CentOS 下快速安装部署Nginx网站
  • 原文地址:https://www.cnblogs.com/ryt103114/p/6085271.html
Copyright © 2020-2023  润新知