我在使用python抓取网页数据时,扣JS的时候,发现有一些环境等一系列东西缺少。故做下相关记录!
1. nodejs中使用windows
安装jsdom
npm install jsdom
const jsdom = require("jsdom");
const {JSDOM} = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;
2. nodejs中使用TextEncoder、TextDecoder
// TextEncoder
const { TextEncoder } = require('util');
const encoder = new TextEncoder();
const text = 'Hello, world!';
const encoded = encoder.encode(text);
console.log(encoded);
//TextDecoder
var{ TextDecoder} = require('util');
var textDecoder = new TextDecoder();
var text = 'Hello, world!';
var decode = textDecoder.decode(text )
console.log(decode)
3. nodejs实现fromByteArray方法 base64
const byteArray = [0x48, 0x65, 0x6c, 0x6c, 0x6f]; // 字节数组
const buffer = Buffer.from(byteArray); // 将字节数组转换为 Buffer 对象
const base64String = buffer.toString('base64'); // 将 Buffer 对象转换为 Base64 字符串
console.log(base64String); // 输出 "SGVsbG8="
//封装成方法
function fromByteArray(bytes) {
const buffer = Buffer.from(bytes)
return buffer.toString('base64');
}
4. nodejs实现toByteArray方法 base64
const str = 'hello';
const byteArray = Buffer.from(str, 'base64');
console.log(byteArray);
//封装成方法
function toByteArray(bytes){
const buffer = Buffer.from(bytes,'base64')
return buffer;
}