当前位置: 首页 > news >正文

广州公司网站设计网站域名备案信息查询

广州公司网站设计,网站域名备案信息查询,制作ppt,wordpress hide同前端爬取参数一样,输入三个参数进行爬取 注意点也一样: 注意分页的字段需要在代码里面定制化修改,根据你爬取的接口,他的业务规则改代码中的字段。比如我这里总条数叫total,人家的不一定。返回的数据我这里是data.r…

同前端爬取参数一样,输入三个参数进行爬取

注意点也一样:
注意分页的字段需要在代码里面定制化修改,根据你爬取的接口,他的业务规则改代码中的字段。比如我这里总条数叫total,人家的不一定。返回的数据我这里是data.rows,看看人家的是叫什么字段,改改代码。再比如我这里的分页叫pageNum,人家的可能叫pageNo

在这里插入图片描述
data目录手动建立上哦,要放爬下来的数据

依赖

{"dependencies": {"axios": "^1.6.5","colors": "^1.4.0","fs": "^0.0.1-security","readline": "^1.3.0"}
}

代码

const readline = require("readline");
const axios = require('axios');
const fs = require("fs");
const colors = require('colors');// 创建询问实例
let RL = readline.createInterface({input: process.stdin,output: process.stdout
})// 封装异步询问
function question(question) {return new Promise((resolve, reject) => {RL.question(`${question}\t`, function (value) {return resolve(value);})})
}var total = 0;
var pageNum = 1;
var pageSize = 30;
var api = "";
var headers = "";
var params = "";// 循环异步方法,执行同步结果
(async function () {const questions = ["请输入接口:", "请输入请求头:", "请输入参数:"];for (let i = 0; i < questions.length; i++) {const value = await question(questions[i]);if (i === 0) {api = value;} else if (i === 1) {headers = value;} else {params = value;}}RL.close();
})()// 监听readline关闭,结束终端输入
RL.on("close", function () {console.log(`<<<------------------------- 开始爬取 ------------------------->>>\n`.blue);// console.log(api, headers, params);crawling();
})// 封装接口请求
async function getData() {const response = await axios({url: api,method: "post",headers: {"Content-Type": "application/json",...JSON.parse(headers)},data: JSON.stringify({...JSON.parse(params),"pageSize": pageSize,"pageNum": pageNum})})return response.data;
}// 爬取执行入口
async function crawling() {const data = await getData();console.log(data);if (data.code !== 0) {console.log('================= 数据读取失败 ================='.red);process.exit(0);}console.log('================= 数据读取成功 ================='.green);total = data.total;const page = Math.ceil(total / pageSize);console.log(`${page}`);saveFile(data.rows, `第1页`);loading();
}// 持续执行爬取
async function loading() {const page = Math.ceil(total / pageSize);for (let i = 1; i < page; i++) {pageNum++;const data = await getData();saveFile(data.rows, `${i + 1}`);}console.log(`<<<------------------------- 爬取完毕,已下载数据 ------------------------->>>\n`.bgGreen);total = 0;pageNum = 1;process.exit(0);
}// 下载json文件
function saveFile(res, name) {console.log(`<<<------------------------- 开始写入 ------------------------->>>\n`.blue);console.log(name);const writerStream = fs.createWriteStream("data/" + name + ".json");writerStream.write(JSON.stringify(res));writerStream.end();writerStream.on('finish', function () {console.log(`<<<------------------------- 写入完成 ------------------------->>>\n`.green);});writerStream.on('error', function (err) {console.log(err);console.log(`<<<------------------------- 写入错误 ------------------------->>>\n`.red);process.exit(0);});
}
http://www.yayakq.cn/news/860739/

相关文章:

  • 局域网网站建设软件湖南发展最新消息公告
  • 免费舆情网站下载备案网址查询
  • 有没有好一点的网站电视剧男女直接做视频网站
  • 做网站用啥软件一级a做爰片免费网站 新闻
  • 网站开发过程会遇到的问题官方网站建设推广
  • php网站商城源码自建国际网站做电商
  • 免费的app下载网站科技股龙头
  • 官网的网站设计公司广州做营销型网站哪家好
  • 什么网站需要服务器wordpress 图片cdn
  • 厦门手机建站视频网站采集规则
  • ASP.NET2.0网站开发全程解析自己的wordpress
  • 西宁平台网站建设临沂 企业网站建设
  • 行政机关单位网站建设要求音乐建设网站
  • 做弩的网站浏览器下载安装大全免费下载
  • 淘宝网站开发框架河南省建设银行网站
  • 不错的免费网站建设网站源码制作
  • 企业级网站开发需求分析台州企业网站搭建特点
  • 手机网站制作解决方案网站建设需要度搜去
  • 洛阳网站建设优化找工作去哪个网站
  • HTML网站页面建设企业查查官网入口
  • 网站升级 云南省建设注册考试中心wordpress excel插件
  • 网站开发用户需求说明书在一个网站的各虚拟目录中默认文档的文件名要相同
  • 淄博哪家公司做网站最好搜狗网站提交
  • 网站建设与推广方案模板手绘元素素材
  • 物流网站和数据库建设无法分享到微信wordpress
  • h5游戏网站建设搜索引擎优化怎么推广
  • 山东建设银行官方网站免费好用的网站制作
  • 为什么网站用静态页面注册网站域名有什么用
  • 做金融网站需要什么营业执照网站模版源码
  • 青岛网站建设方案优化wordpress 微信连接