初次尝试node爬虫(附赠前端和各种编程词库、coca20000词频表)

相信每一个开发做了一段时间的人都会知道英语对开发者的重要性,各种框架库的文档、更新日志、issue、各种变量命名。这些东西时效性都是很低的,如果只能一昧的等待别人汉化、更新,那永远都会被别人甩在后面, 更何况除了受众比较广的一些开源项目和优质文章,基本上是不会有汉化的。

正因为这些,不提高英语水平对一个有远大理想($)的coder的而言,绝对是万万不可的。

说到学英语,就少不了背单词,但是现在都是9012年了,不可能像让我们像高中的时候一样走到哪里都拿着个小本本吧。所以这段时间我也折腾了不少背单词的app,扇贝、百词斩、知米、沪江、网易背单词、天天背单词。都是非常优秀的软件,记忆曲线,定期复习等实用的功能大大提高了背单词的效率。

但是,问题又来了。每个单词软件的词库量都参差不齐,而且词库大都是服务在校生,各种考研人员。不过所幸有的单词软件支持用户自己上传词库, 下面是我用积分买的一些单词书

图片名

在这里再次感谢这些单词书的收集者?。

问题又双来了,这些词库都是在线词库,虽然买了单词书,但是只能在该平台用,平台包含很多不支持买断的vip功能,自己又想把这些单词书放到自己想要的单词软件去背。问题有了,自然也会解决办法,目前大部分背单词app都支持自己上传单词生成词库,词库一般都是下面这种格式

// 前端单词大全.txt 格式是txt,单词间用回车分开
primitive
undefined
null
object
global
array
value

那现在要做的就是怎么把这些单词数据从别人的官网上爬下来并转换成自己需要的格式了,现有技术栈里node正好适合用来做这个工作,虽然以前没写过爬虫,但是大概知道要做的就是请求目标网页、分析页面结构、取出需要的数据。知道要做什么,ok,查查资料上手~

这里顺便分享一下最后爬取到的文件,仅供学习使用。

单词书

代码

依赖

const axios = require('axios');   // 发起请求
const cheerio = require('cheerio');   // 类jq的node文档分析库
const fs = require('fs');   // 生成文件

html结构:
列表结构

因为单词分为多个章节,需要先获取到各个章节的列表指向的地址

图片名
图片名


内页结构

图片名
图片名


数据大于20条时会出现分页

图片名


先写一个函数用于获取列表、详情并写入到指定文件

async function getDatas() {
   
  // 先调用获取目录的方法,对应函数在下方代码中
  let res = await getListUrl
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值