使用puppeteer操作headless chrome获取coincheck聊天版内容

交易所的聊天版是涨跌信息材料的重要来源,这次我们用puppeteer来获取coincheck的聊天版信息。

puppeteer可以很方便操作headless-chrome来爬取网页,另外可以很方便监听页面上的各种事件,ajax和websocket也不需要担心跨域问题。

经过调查发现,coincheck的聊天版通过定时调用ajax获取聊天信息更新。获取这个ajax的内容使用puppeteer非常简单。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://coincheck.com/ja/chats');
page.on('response', response => {
response.text().then(function (textBody) {
try {
chats = JSON.parse(textBody).chats;
for(let i=0; i < chats.length; i++) {
console.log(chats[i].name + ": " + chats[i].content)
}
} catch(e) {
}
})
})
})();

为了大家方便使用上传github了。
自取