【发布时间】:2021-09-11 04:25:42
【问题描述】:
我不敢相信我在问一个明显的问题,但我仍然在控制台日志中弄错了。
控制台在网站中显示类似“[]”的爬网,但我已经检查了至少 10 次拼写错误。无论如何,这是 javascript 代码。
我想在网站里爬。
这是 kangnam.js 文件:
const axios = require('axios');
const cheerio = require('cheerio');
const log = console.log;
const getHTML = async () => {
try {
return await axios.get('https://web.kangnam.ac.kr', {
headers: {
Accept: 'text/html'
}
});
} catch (error) {
console.log(error);
}
};
getHTML()
.then(html => {
let ulList = [];
const $ = cheerio.load(html.data);
const $allNotices = $("ul.tab_listl div.list_txt");
$allNotices.each(function(idx, element) {
ulList[idx] = {
title : $(this).find("list_txt title").text(),
url : $(this).find("list_txt a").attr('href')
};
});
const data = ulList.filter(n => n.title);
return data;
}). then(res => log(res));
我已经检查和修改了至少 10 次 然而,Js 仍然抛出这个结果:
root@goorm:/workspace/web_platform_test/myapp/kangnamCrawling(master)# node kangnam.js
[]
【问题讨论】:
-
如果去掉这行:ulList.filter,你会看到什么?
-
然后显示错误
-
我在浏览器控制台上执行了相同的代码并得到相同的空结果,因为标题为空
-
您所追求的内容是否存在于您要检索的 URL 的页面原始源中?还是页面本身开始加载后由 JavaScript 绘制的内容?
标签: javascript node.js web-crawler