最新《TypeScript》来吧-做个爬虫爬B站

// 获取HTML

const BHtml = await superagent

.get(this.url);

// 打印结果

console.log(BHtml)

}

static init(url: string, cookie: string) {

if (!BC.Bilibili) {

BC.Bilibili = new BC(url, cookie);

}

return BC.Bilibili;

}

}

BC.init(“https://www.bilibili.com/”)

写完,运行编译命令

npm run dev

好家伙,直接403被拒绝了,这就尴尬了,老老实实打开B站,打开控制台,打开network,看看具体请求,是不是漏了什么,确实漏了,漏了cookie,通过请求得知,不管有没有登录都一定会带cookie信息,并且即使没有登录这个cookie也是有值的,只是不知道这个值代表什么意思,既然发现了,那就加上

/**

  • @description 程序本体

*/

import superagent from “superagent”;

export default class BC {

private static Bilibili: BC;

constructor(private url: string, private cookie: string) {

this.start();

}

private async start() {

// 获取HTML

const BHtml = await superagent

.get(this.url)

.set(“cookie”, this.cookie);

// 打印结果

console.log(BHtml)

}

static init(url: string, cookie: string) {

if (!BC.Bilibili) {

BC.Bilibili = new BC(url, cookie);

}

return BC.Bilibili;

}

}

继续使用命令,运行代码,好家伙,真的取到了整个HTML代码,虽然这个HTML代码完全没有办法阅读,但是没关系,到这里基本已经确定了,方向上是对的,只是继续优化而已;

分析HTML


这里就要说到另外一个工具了,强烈推荐,cheerio,对应的官网在这里:cheerio官网,这是一个对JQ核心功能的实现:对DOM的操作,它能在服务端,对有DOM组成的字符串直接进行操作,直接先看个例子吧:

var cheerio = require(‘cheerio’),

$ = cheerio.load(‘

Hello world

’);

$(‘h2.title’).text(‘Hello there!’);

$(‘h2’).addClass(‘welcome’);

$.html();

这个例子来自于网上,虽然简单,但是它一定程度上说明了这个插件的

的这个大屏数据分析及可视化系统,用了python、Django、vue、mysql、b/s架构,我的系统的功能具体如下。对用户端:系统自动化功能数据爬虫模块(从汽车之家网数据,具体数据根据我展示的大屏和词云上的信息自行理解)、数据预处理模块、数据分析模块(具体如何将数据分析得出结果自行根据我展示的大屏和词云截图上的信息理解)、数据存储模块(不仅包括来的数据还有评论、汽车信息、公告信息)、数据可视化模块以及对用户端功能模块(包括用户个人中心模块‘注册、登陆、修改个人信息’、用户查看可视化结果模块‘大屏、词云’、用户查看展示的公告及汽车信息、用户评论);对管理员的功能模块包括用户管理模块、公告管理、汽车信息展示管理、用户评论管理(我有两个浏览器:用户、管理员)注意!根据上述信息以及之前的对话,深刻理解我的大屏数据分析及可视化系统,我要我本科毕设答辩ppt中关于我整个数据分析及可视化系统的系统整体结构、系统整体功能的部分,将系统整体b/s架构的前端、后端、数据库的主要技术栈组成,相关功能要点、相关技术实现以及分工协作、数据流,分层,按照前端后端数据库的形式,包含整个系统全部功能的,直接用详细、专业规范、具体实际的流程图的形式展现出来,要求有数据流箭头,表明数据流,
最新发布
05-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值