对于互联网上的一些公共信息,可以通过一定的手段进行数据爬取,最常用的使用python技术,网上有各种的爬虫,可以搜索到。
信息爬取的时候,有的可以从网站中获取请求数据的url,以http形式的进行数据获取,需要登录验证的,用token或者用户名和密码进行登录;有的是html页面,需要从其中的DOM中,获取需要的内容。
各种的开发语言,一般都有爬取网站的方式,相对来说,python现有的类库比较多,能够直接进行调用。
使用nodejs爬取网站内容,也是借助现有的各种类库:
1、const axios = require('axios');
Axios是一个基于promise的HTTP库,可以用在浏览器和 node.js 中,根据网址,返回请求的数据内容;
2、const iconv = require('iconv-lite');
iconv-lite用于在node当中处理在各种操作系统出现的各种奇特编码;假如使用axios获取的内容,编码不是UTF-8,需要使用iconv-lite进行转码。
3、const cheerio = require('cheerio');
cheerio主要是为了用在服务器端需要对DOM进行操作的地方。
在返回内容是html的时候,需要使用此类库进行html中节点解析。
流程:
根据规则,请求http内容,处理返回内容,解析出来的数据,进行存储。