从Twitch抓取数据

时间:2019-04-23 19:33:05

标签: javascript html r phantomjs twitch

我正在尝试找出Twitch上每场比赛有多少追随者。不幸的是,Twitch API无法提供此信息。当我去玩任何游戏(例如Mortal Kombat 11)时,我可以看到“ 115,175个关注者·199,041个查看者”。但是,当我转到“查看源代码”时,此信息不存在。我尝试使用phantomjs打开网站,但到目前为止,我还无法弄清楚如何渲染该部分。

如何在Twitch上抓取特定游戏的关注者和观看者人数?

(R中的解决方案是首选但不是强制性的)

1 个答案:

答案 0 :(得分:0)

几个月前,我已经使用axioscheerio创建了一个Web抓取工具。

您可以使用axios的get请求获取整个HTML页面,然后用cheerio开始查找所需的信息,在这种情况下,跟随者cheerio就像服务器端jquery。

一个小例子:

import axios from 'axios';
import cheerio from 'cheerio';
import _ from 'lodash';

async function getStats () {
  const html = await axios.get('http://www.espn.com/nba/team/_/name/ny');
  const $ = cheerio.load(html.data);
  const wonLooseRatio = $('.ClubhouseHeader__Record').children().first().text().trim();

  console.log(wonLooseRatio); // 17-65
}

图像说明了在抓取中的信息。

the image illustrates the information that in scrapping.

此外,请记住,某些网站认为网络抓取是非法的或违反其政策的,请确保您阅读了抽搐的条款和条件,以上示例仅出于教育目的。

希望有帮助。