nodejs爬取Font Awesome字体class(Font Awesome所有class集合)

最近因为业务需要引入了 font awesome 字体库,准备做一个自选功能,需要用到所有的class,无奈官方的 DOM 结构不合适,于是变想到把所有class爬取下来。整理结构如下

nodejs爬取Font Awesome字体class(Font Awesome所有class集合)_第1张图片
数据结构

整体数据是一个list数组,每个json对象的key就是对应模块的名称,json中数组就是该模块所有class,因为我们自定义了前缀,所以没有官方默认的 fa 前缀,有需要的童鞋可以自己加上。

我爬的是4.7版本,数据 http://pan.baidu.com/s/1qY9JWM4,需要其他版本的可以自己爬取,源码

const request = require('request')
const cheerio = require('cheerio')
const fs = require('fs');
const app = require('express')();

// 首字母大写转换
function firstUpcase (str){
  return str.charAt(0).toUpperCase()+str.substring(1);
}

app.get('/',function (err,res,next) {
  request('http://www.fontawesome.com.cn/faicons/', (error, response, body) => {
    if (error) {
      console.log(error)
    } else if (response.statusCode == 200) {
      const $ = cheerio.load(body)
      let allClass = {}
      $('#icons > section').each(function () {
        // 模块ID
        let sectionId = $(this).attr('id');
        // 转化ID 中划线为 驼峰风格
        let sectionKeyArray = sectionId.split('-');
        let sectionKey = '';
        for(let i=0,len=sectionKeyArray.length;i

你可能感兴趣的:(nodejs爬取Font Awesome字体class(Font Awesome所有class集合))