【发布时间】:2022-01-21 23:52:00
【问题描述】:
我是 Web Scraping 的新手,我正在使用 Axios 获取 URL,然后使用 Cheerio 访问数据。
我想通过获取我帐户的关注者数量来抓取 Twitter,我检查了持有关注者数量的元素,然后尝试执行它,但它没有返回任何内容
所以我尝试执行页面中的每个 span 标签,它返回字符串“出了点问题,但不要担心——让我们再试一次。”
当我检查页面时,我可以看到标签元素,但是当我点击“查看页面源代码”时,它显示的却完全不同。
我发现字符串“出了点问题,但别担心——让我们再试一次。”位于页面源码这里:
检查我的推特页面时我想要的元素是:
这是我的 JS 代码:
const cheerio = require('cheerio');
const axios = require('axios')
axios('https://twitter.com/SaudAlghamdi97')
.then(response => {
run();
async function run() {
const html = await response.data;
const $ = cheerio.load(html);
$('span').each((i, el) => {
console.log($(el).text());
});
}
})
这是我在终端中得到的:
我在这里遗漏了什么吗?我正在努力收集关注者的数量。
【问题讨论】:
-
如果你找不到它们,它们正在被 Javascript 渲染,因此 Cheerio 不可能。
标签: javascript html node.js web-scraping twitter