Getting data from zkillboard

Hopefully this is the correct place. New to eve and doing well at trading. Trying to get into google sheets and import zkillboard data. I want to be able to sort it somehow so I can see what is being used the most for market purposes. Anyway is anything like this remotely possible. I have looked at all of the tutorials but still cant find any info.

ZKill has a public API. That would be the place to start. https://github.com/zKillboard/zKillboard/wiki

Okay thanks.

There is also now a list of anonymous killmails attached to the raw data of the Monthly Economic Report. If you are just interested in number of ships lost, that might be faster and easier to get into a spreadsheet.

use their websockets stream and send all that to a mongoDB or SQL database, from there you can sort whatever you need based on timedate, ship type, etc. shouldn’t be too hard.

Okay I think I saw the mongodb info on zkillboard forum. I will learn it this weekend as I am totally unfamiliar with anything to do with language or coding. Thank you for all of the help.

Okay downloaded the zip last month must have missed what I was looking for. I will search it again.

Do I need any program in between. Does mysql recieve websocket info? Sorry may be a dumb question just really new at all this.

No it doesn’t, that’s why i said mongo, because it’s JSON based no-sql database so is the websocket response. So it’s easier to parse and inject into Mongo. Mysql needs SQL stuff, you need to define tables, and it’s more tedious work. In Mongo you just create some datasets which will have key:value pairs inside.

You will need a websocket client with some other script that will connect to mongo and insert that there. Could be php/python/whatever you can find on github already.

Then you will need some mongoDB browser to pull your info as you want it. But this last part is just normal DB job. So basically you have 2 parts:

  1. Pull the stream via websockets and feed it into MongoDB
  2. Get a dashboard for MongoDB where you can visualizez the entries, build queries, etc.

This is the only way to do it so you can see trends, history, create graphs with timedate index.

Okay great thanks man I appreciate it.

Try this one in node.js

var sys = require('util');

const WebSocket = require('ws')
const wss = new WebSocket('wss://zkillboard.com:2096')

wss.onopen = () => {
    console.log('Subscribing: Killmails');
wss.send(JSON.stringify(
   {
     "action":"sub",
     "channel":"killstream"
   }
  ));
}

wss.onmessage = (msg) => {
    var response = JSON.parse(msg.data);
    console.log(JSON.stringify(response, null, 4));
    }

It wil output something like this in a stream:

Result of above script

From there you just modify the script to insert all that into MongoDB

Hope it helps.

1 Like

Wow thanks. You are the best. I am going to try and learn mongodb amd some basic coding. It looks lik a lot of fun and really useful.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.