axios 使用及其相应简单爬虫的扩展
2018-01-05 15:30
369 查看
axios 是用于访问http/https请求的一个js库。可用于前端和node后端向服务器发送请求的一个库。
npm地址如下: https://www.npmjs.com/package/axios
简单的promise风格代码包装如下:
上述代码比较简单,如果涉及到对于token认证,config配置等,可以参考官网进行补充。
拓展:爬虫(数据挖掘的运用)
1.如果想爬取其他网站的内容,可以使用axios进行访问并进行爬取.
2.数据挖掘的简单环节如下:爬取主页链接->分析提取目标链接地址->访问目标链接地址,获取数据存储->后续分析持久化等
3.以爬取百度关于axios链接搜索资源地址为例,代码如下:
爬取结果如下:
npm地址如下: https://www.npmjs.com/package/axios
简单的promise风格代码包装如下:
const axios = require('axios'); const fs = require('fs'); /** * @version 1.0 用于访问其他网站的http与https模块 * */ class AxiosMannage { /*** * @version 1.0 get promise请求包装 * */ static async get({ url, data }) { return await new Promise( (resolve, reject) => { axios.get(url, { params: data }).then((response) => { resolve(response); }).catch((err) => { reject(err); }); } ); } /*** * @version 1.0 post promise请求包装 * */ static async post({ url, data }) { return await new Promise( (resolve, reject) => { axios.post(url, data).then((response) => { resolve(response); }).catch((err) => { reject(err); }); } ); } /*** * @version 1.0 下载网络资源 * * @param type get/post * * @param url 文件资源地址 * * @param path 保存地址 * * */ static download({ type = 'get', url, path }) { axios({ method: type, url, responseType: 'stream' }).then((response) => { response.data.pipe(fs.createWriteStream(path)); }); } } module.exports = { AxiosMannage };
上述代码比较简单,如果涉及到对于token认证,config配置等,可以参考官网进行补充。
拓展:爬虫(数据挖掘的运用)
1.如果想爬取其他网站的内容,可以使用axios进行访问并进行爬取.
2.数据挖掘的简单环节如下:爬取主页链接->分析提取目标链接地址->访问目标链接地址,获取数据存储->后续分析持久化等
3.以爬取百度关于axios链接搜索资源地址为例,代码如下:
let root = "http://www.baidu.com/s?word=axios"; const cheerio = require('cheerio'); AxiosMannage.get({ url: root }).then( (html) => { let content = html.data;//拿取了列表的链接 //运用cheerio 拿去所有有用的连接 //注cheerio 是专门用来解析html文本结构的一个工具 //https://www.npmjs.com/package/cheerio cheerio使用地址 //在这里可以去获取目标页地址 let $ = cheerio.load(content); let listsUrl = $("#content_left").find(".result"); for (let i = 0; i < listsUrl.length; i++) { //获取目标页的链接地址 let links = $(listsUrl[i]).find("a").attr("href"); console.log("连接地址: " + links); } } );
爬取结果如下:
相关文章推荐
- 使用Attribute简单地扩展WebForm
- AjaxControlToolKit ----DropDownExtender(下拉扩展控件) 的简单使用方法
- 如何使用Log4net创建日志及简单扩展
- 使用扩展方法打造一套简单的WPF/SL绑定机制
- 在python中使用c语言扩展模块的简单示例
- 一个Linux/Unix下的excel库“xlslib”的使用及其简单封装
- 用Php扩展实现的简单框架 - 6 - 使用示例
- FileNet Realm类的简单使用和常量类的简要说明及其引申的待谈话题
- NSUserDefaults 的简单使用 及其存储位置
- Log4net系列:如何使用Log4net创建日志及简单扩展
- 使用Go语言(golang)写个简单的爬虫
- 使用Perl语言写个简单的爬虫
- java正则表达式简单使用和网页爬虫的制作代码
- (转)matlab数据类型及其简单的使用方法
- IBatisNet使用方法(三)与数据库的简单交互相应的类
- 使用Javascript和prototype.js框架创建类型及其相关的prototype属性的简单介绍
- AjaxControlToolKit ----ConfirmButtonExtender (确认提示框按钮扩展)的简单使用方法
- svn的简单介绍及其在windows系统下的安装及使用
- 使用fckeditor中遇到的几个问题及其相应解决方法
- c#泛型----简单讲讲如何在编程中使用泛型及其集合类