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

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

(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 + '\t' + this.getLocalTime(value1[i][0] / 1000)
+ '\t' + value1[i][1] + '\t' + this.getLocalTime(value2[i][0] / 1000)
+ '\t' + value2[i][1] + '\t' + this.getLocalTime(value3[i][0] / 1000)
+ '\t' + value3[i][1] + '\t');
}
//写入完内容之后及时关闭流,如果不关闭,当爬取很多的文件的时候会出现错误,文件里面写不进去内容
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)直至所有页面爬完

js爬虫心得的更多相关文章

  1. Node.js爬虫-爬取慕课网课程信息

    第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让 ...

  2. node.js爬虫

    这是一个简单的node.js爬虫项目,麻雀虽小五脏俱全. 本项目主要包含一下技术: 发送http抓取页面(http).分析页面(cheerio).中文乱码处理(bufferhelper).异步并发流程 ...

  3. Node.js aitaotu图片批量下载Node.js爬虫1.00版

    即使是https网页,解析的方式也不是一致的,需要多试试. 代码: //====================================================== // aitaot ...

  4. Node.js umei图片批量下载Node.js爬虫1.00

    这个爬虫在abaike爬虫的基础上改改图片路径和下一页路径就出来了,代码如下: //====================================================== // ...

  5. Node.js abaike图片批量下载Node.js爬虫1.01版

    //====================================================== // abaike图片批量下载Node.js爬虫1.01 // 1.01 修正了输出目 ...

  6. Node.js abaike图片批量下载Node.js爬虫1.00版

    这个与前作的差别在于地址的不规律性,需要找到下一页的地址再爬过去找. //====================================================== // abaik ...

  7. Node JS爬虫:爬取瀑布流网页高清图

    原文链接:Node JS爬虫:爬取瀑布流网页高清图 静态为主的网页往往用get方法就能获取页面所有内容.动态网页即异步请求数据的网页则需要用浏览器加载完成后再进行抓取.本文介绍了如何连续爬取瀑布流网页 ...

  8. 微信小程序js学习心得体会

    微信小程序js学习心得体会 页面控制的bindtap和catchtap 用法,区别 <button id='123' data-userDate='100' bindtap='tabMessag ...

  9. Node.js 爬虫爬取电影信息

    Node.js 爬虫爬取电影信息 我的CSDN地址:https://blog.csdn.net/weixin_45580251/article/details/107669713 爬取的是1905电影 ...

随机推荐

  1. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  2. 【ipv6惹的祸】curl 超时

    偶然发现 最近在公司日志平台 总是可以看到很多关于php curl的错误信息 Operation timed out after 0 milliseconds with 0 out of 0 byte ...

  3. web网站获取客户端mac地址

    <HTML><HEAD><TITLE>WMI Scripting HTML</TITLE> <META http-equiv=Content-Ty ...

  4. Qt之创建桌面和开始菜单快捷方式

    将安装好的酷狗拷贝到C:\data目录中 1.创建桌面快捷方式 QFile::link("C:/data/KuGou.exe", QStandardPaths::writableL ...

  5. HTTP常见头域

    近期没需求,也没什么心情去看书,就总结一下自己以前看的HTTP协议基础内容吧.(会很乱,可能不适合一点都没接触过HTTP协议的人观看) 一.HTTP Request header 1.Cache头域 ...

  6. ios程序发布测试打包

    1. 获取测试机UDID 手机连接电脑,打开iTunes-摘要-点击序列号,设备概要界面显示设备udid-反键-拷贝 2. 添加设备 取得UDID后,进入开发者中心-iOS PRovisioning ...

  7. vs2015企业版和专业版秘钥

    专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV 来自http://www.cnblogs.com/xuhongfe ...

  8. Linux最常用命令的小总结

    目录及文件的基本操作: cd  .. 切换到当前目录的上一级目录 cd 切换工作目录至当前用户的家目录 cd - 返回到上一个打开的目录(像遥控器上的切换键,切换到上一个播放的电视频道) ll -h ...

  9. 导入excel2007文件问题

    基于oledb方式导入excel2007文件时,使用如下链接字符串: string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Sour ...

  10. 按钮点击,打开qq,用做联系客服

    给按钮做链接 <a target=blank href=tencent://message/?uin=这里写QQ号&Site=某某&Menu=yes><img bor ...