因此,我正在学习如何从学校项目的网站上抓取数据。到目前为止,我已经使用命令提示符成功抓取了数据,但是我想使用画布元素将该数据用于网站上的视觉效果。使用命令提示符时,一切正常,但是当我尝试编写HTML索引页时,它说“ require”未定义。我尝试导入保存需要定义的文件,但出现此错误。 “由于不允许的MIME类型(“ video / mp2t”),“ http://127.0.0.1:5500/node_modules/@types/node/globals.d.ts中的脚本被阻止”。 我尝试仅通过HTML脚本标签包含文件。我对HTML知之甚少,而我的大部分JS知识都是为了娱乐和制作游戏。
这是我的抓取代码。我的html存在的问题与require函数有关。有必要具有此功能还是有其他导入这些库的方法?
window.onload = function(){
const request = require('request');
const cheerio = require('cheerio');
request('https://feedluna.wordpress.com/data/',
(error, response, html) =>{
if(!error && response.statusCode == 200){
const $ = cheerio.load(html);
const content = $('.entry-content').text();
var returned = parsedata(content);
console.log(returned);
}
else{
console.log(error);
}
});
function parsedata (data){
var buffer = '';
var bufferlen = 0;
var parsedData = [];
var j = 0;
for(var i=0;i<data.length;i++){
buffer += data[i];
bufferlen++;
if(buffer[bufferlen-1] == '\t' || buffer[bufferlen-1] == '\n' || buffer[bufferlen-1] == '\r'){
if(bufferlen == 1){
buffer = '';
bufferlen = 0;
continue;
}else{
parsedData[j] = parseInt(buffer);
buffer = '';
bufferlen = 0;
j++
}
}
if(j == 2){
break;
}
}
return parsedData;
}
}
这是我的HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script src='node_modules/@types/node/globals.d.ts'></script>
<script src='scrape.js'></script>
</body>
</html>
我猜想它试图将ts文件加载为视频吗?我不知道,在js中定义和导入库与在C语言中感觉不一样,而C语言是我掌握大量知识的唯一语言。
编辑*:
如果不进行内容解析就保留内容,这就是我在命令提示符下调用抓取功能时得到的内容。
C:\Users\Matt\Desktop\266 project>node scrape
54
25
Advertisements
Share this:TwitterFacebookLike this:Like Loading...
因此,我能够从计算机访问数据。我对CORS限制了解不多,或者我是否在同一个域中,但目前我能够访问数据。