epic-games-store-crawler
v0.2.1
Published
A crawler to retrieve store data from the Epic Games store
Downloads
8
Maintainers
Readme
epic-games-store-crawler
epic-games-store-crawler is a crawler, which retrieves data from the Epic Games Store. It's purpose is to provide easy to access methods to crawl specific store data such as current game prices, free games, categories, etc.
Installation
Install using npm
npm install epic-games-store-crawler
Install using yarn
yarn add epic-games-store-crawler
Install using source
Clone the repository git clone https://github.com/DonkeyCo/epic-games-store-crawler.git
Install dependencies npm install
or yarn install
Run build script npm run build
or yarn run build
Use files in dist
folder for coding
Usage
Import module
To use epic-games-store-crawler you have to import it: \
// with require
var egsCrawler = require('epic-games-store-crawler)';
var crawler = egsCrawler.Crawler;
// with import
import { Crawler } from 'epic-games-store-crawler';
Using module - Examples
1 - Crawling catalog items
Crawler.getItems({
allowedCountries: 'DE',
category: 'games/edition/base|bundle/games|editors',
count: 30,
country: 'DE',
locale: 'de'
});
{
"Catalog": {
"searchStore":{
"elements":[{
"title":"Generic Game",
"id":"3x4mpl31d",
"namespace":"example",
"description":"Generic Description",
"seller": {
"name":"Generic"
},
"price": {
"totalPrice": {
"discountPrice":0,
"originalPrice":0,
"voucherDiscount":0,
"discount":0,
"currencyCode":"EUR",
"currencyInfo": {
"decimals":2
}
}
},
"promotions": {
"promotionalOffers": [{
"promotionalOffers":[{
"startDate":"2020-08-13T15:00:00.000Z",
"endDate":"2020-08-20T15:00:00.000Z"
}]
}]
}
}]
}
}
}
2 - Crawling free games
Crawler.getFreeGames({
allowCountries: 'DE',
country: 'DE',
locale: 'de'
});
// Returns
{
"Catalog": {
"searchStore":{
"elements":[{
"title":"Generic Game",
"id":"3x4mpl31d",
"namespace":"example",
"description":"Generic Description",
"seller": {
"name":"Generic"
},
"price": {
"totalPrice": {
"discountPrice":0,
"originalPrice":0,
"voucherDiscount":0,
"discount":0,
"currencyCode":"EUR",
"currencyInfo": {
"decimals":2
}
}
},
"promotions": {
"promotionalOffers": [{
"promotionalOffers":[{
"startDate":"2020-08-13T15:00:00.000Z",
"endDate":"2020-08-20T15:00:00.000Z"
}]
}]
}
}]
}
}
}
3 - Crawling catalog tags
Crawler.getCatalogTags({
namespace: 'epic',
locale: 'de',
start: 0,
count: 999
});
// Returns
{
"Catalog": {
"tags": {
"elements": [{
"aliases": [],
"id":"9547",
"name":"WINDOWS",
"referenceCount":259,
"status":"ACTIVE"
}]
}
}
}
4 - Crawling news
Crawler.getNews('de', 30);
[{
"jcr:isCheckedOut":true,
"link":"/path/to/something",
"_title":"title",
"_noIndex":false,
"_images_":[
"https://example.com/image.png"
],"jcr:baseVersion":"abc-def-ghi",
"_urlPattern":"/path/to/something",
"lastModified":"2020-08-13T14:28:09.556Z",
"_locale":"de",
"_id":"abc-def-ghi",
"trending":false,
"image":"https://example.com/image.png",
"trendingImage":"https://example.com/image.png",
"cat":"Launcher",
"_type":"Common Post Link",
"sticky":false,
"short":"Short text. Lorem Ipsum",
"title":"Title. Lorem Ipsum",
"date":"2020-08-13T19:00:00.000Z",
"externalLink":"/path/to/something",
"slug":"this-is-a-slug",
"url":"/path/to/something",
"urlPattern":"/path/to/something"
}]
Contribution
If you are interested in contributing, feel free to create a PR or an issue.