@ga0neng/crawler.js

a javascript crawler framework

Usage no npm install needed!

<script type="module">
  import ga0nengCrawlerJs from 'https://cdn.skypack.dev/@ga0neng/crawler.js';
</script>

README

crawler.js

简介

cralwer.js是一个JavaScript的异步爬虫框架。集合了中间件,请求,解析。三大板块

快速入门

[TOC]

1.从最简单的开始

// 因为在开发的时候使用的是默认导出,这里你可以取你想要的名字
// 注意,这里要使用import,因为是es module
import crawler from '@ga0neng/crawler.js';

async function app(){
    let postTitle = [];
    crawler.setUrl(['https://editorwang.gitee.io']);
    let parse = await crawler.parse()
    let $ = parse.find('.post-title-link')
    for (const item of $[0]){
        title.push(item.children[0].data);
    }
    console.log(postTitle)
}
app()

2.使用中间件

import crawler from '@ga0neng/crawler.js';
async function app(){
    // req 是请求设置,继承自http.ReuqestOptions
    // next 将会提前中断这个中间件,直接启动下一个中间件
    crawler.use((req,next)=>{
        /*
            因为继承自RequestOptions。所以你可以任意修爱你的请求头
            可以修改你的user-agent防止你的爬虫被封杀
        */
    })
}
app()

3.获取Response

如果你不想使用我们提供的解析器,您可以使用getResponse方法来获取请求的信息。然后使用自己的解析器进行解析。

import crawler from '@ga0neng/crawler.js';
async function app(){
    crawler.setUrl(['https://editorwang.gitee.io']);
    let response = await crawler.getResponse();
    console.log(response); // 返回一个字符串
}

app()

不过与parse不同的是,getResponse返回的是一个字符串数组,而parse将返回一个静态类,之所以返回静态类是因为将解析工具都放到了一个叫做parse的类中,方便开发者们自取