siplify grapper ask for speed
This commit is contained in:
1 parent
8ec2203918
commit
d221ff6eac
36 files changed
+111
-18439
No files matched your search
@@ -9,7 +9,7 @@ class Grapper extends Command
|
||||
{
|
||||
use GrappingSofascore;
|
||||
|
||||
protected $signature = 'grp:sofa {--d} {--r} {--f}';
|
||||
protected $signature = 'grp:ss {--d} {--r} {--f}';
|
||||
|
||||
protected $description = 'grap select function';
|
||||
|
||||
|
||||
@@ -1,177 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\CurlSofa;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\Sleeper;
|
||||
use App\Models\Country;
|
||||
use App\Models\SofaScoreCategory;
|
||||
use App\Models\SofaScoreDayTournament;
|
||||
use App\Models\SofaScoreTournament;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class DaysTournament
|
||||
{
|
||||
/**
|
||||
* a Grap --d --f 67 --fun=4 --task=1
|
||||
*
|
||||
* Ita Serie-A-Saison 23-08-2025 - 24-05-2026
|
||||
* Ger Bundesliga 22-08-2025 – 16-05-2026
|
||||
* Eng Premier league 15-08-2025 - 24-05-2026
|
||||
* Spa La Liga 15-08-2025 - 24-05-2026
|
||||
* Fra Liggue 15-08-2025 - 17-05-2026
|
||||
*/
|
||||
public static function get(string $day)
|
||||
{
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
$force = Grap::$options['F'] ?? 0;
|
||||
|
||||
$tournaments_counter = 0;
|
||||
|
||||
$has = SofaScoreDayTournament::where('day', $day)->first();
|
||||
|
||||
$sport = [];
|
||||
$sport[1] = 'football';
|
||||
|
||||
foreach ($sport as $sport_id => $slug) {
|
||||
if (!$force && $has) {
|
||||
if ($debug) {
|
||||
Notice::note("Tournaments $day for " . strtoupper($slug) . ' allready grapped', 'bb');
|
||||
}
|
||||
} else {
|
||||
|
||||
if ($debug) {
|
||||
Notice::note("$day\ngrappig", 'g');
|
||||
}
|
||||
|
||||
$page = 1;
|
||||
|
||||
while ($page) {
|
||||
|
||||
$url = Grap::$options['base_url'] . "api/v1/sport/$slug/scheduled-tournaments/$day/page/$page";
|
||||
|
||||
Sleeper::rand();
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
if ($data['hasNextPage']) {
|
||||
$page++;
|
||||
} else {
|
||||
$page = false;
|
||||
}
|
||||
|
||||
foreach ($data['scheduled'] as $row) {
|
||||
|
||||
if (isset($row['tournament']['uniqueTournament'])) {
|
||||
$tournament = $row['tournament']['uniqueTournament'];
|
||||
} else {
|
||||
$tournament = $row['tournament'];
|
||||
}
|
||||
|
||||
$category = $tournament['category'];
|
||||
|
||||
if ($sport_id == 5) {
|
||||
$country_id = 470;
|
||||
} else {
|
||||
|
||||
/**
|
||||
* CATEGORY
|
||||
*/
|
||||
$find = [
|
||||
'Amateur',
|
||||
'Bosnia & Herzegovina',
|
||||
'Czechia',
|
||||
'DR Congo',
|
||||
'Netherlands',
|
||||
'North & Central America',
|
||||
'Bonaire',
|
||||
'Sao Tome and Principe',
|
||||
'Cape Verde',
|
||||
'Macao',
|
||||
'Saint Kitts and Nevis',
|
||||
'Eswatini',
|
||||
'Timor Leste',
|
||||
'Laos',
|
||||
'Congo Republic',
|
||||
|
||||
];
|
||||
$replace = [
|
||||
'',
|
||||
'Bosnia Herzegovina',
|
||||
'Czech Republic',
|
||||
'Congo DR',
|
||||
'Holland',
|
||||
'North America',
|
||||
'Bonaire, Sint Eustatius and Saba',
|
||||
'Sao Tome e Principe',
|
||||
'Cape Verde Islands',
|
||||
'Macau',
|
||||
'St. Kitts and Nevis',
|
||||
'Swaziland',
|
||||
'East Timor',
|
||||
'Lao Peoples\'s Democratic Republic',
|
||||
'Congo DR',
|
||||
];
|
||||
$country_id = Country::where('name', trim(str_replace($find, $replace, $category['name'])))->value('id');
|
||||
}
|
||||
|
||||
// dd($category, $country_id);
|
||||
|
||||
if (! $country_id) {
|
||||
// platzhalter fix later sofa_score_categories => txodds countries
|
||||
// CATEGORY find <-> replace
|
||||
// Log::channel('sofascore')->info($tournament);
|
||||
|
||||
$sofa_score_category_id = 10000000;
|
||||
} else {
|
||||
$call = SofaScoreCategory::updateOrCreate([
|
||||
'id' => (int) $category['id'],
|
||||
'country_id' => (int) $country_id,
|
||||
'slug' => $category['slug'],
|
||||
], [
|
||||
'name' => $category['name'],
|
||||
]);
|
||||
|
||||
$sofa_score_category_id = $call->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* TOURNAMENT
|
||||
*/
|
||||
SofaScoreTournament::updateOrCreate([
|
||||
'sport_id' => (int) $sport_id,
|
||||
'tournament_id' => (int) $tournament['id'],
|
||||
'sofa_score_category_id' => (int) $sofa_score_category_id,
|
||||
], [
|
||||
'name' => $tournament['name'],
|
||||
'slug' => $tournament['slug'],
|
||||
]);
|
||||
$tournaments_counter++;
|
||||
|
||||
// if ($debug) {
|
||||
// Notice::note('tournament: ' . $tournament['name'], 'p');
|
||||
// }
|
||||
|
||||
/**
|
||||
* DAY TOURNAMENT
|
||||
*/
|
||||
SofaScoreDayTournament::updateOrCreate([
|
||||
'tournament_id' => (int) $tournament['id'],
|
||||
'sport_id' => (int) $sport_id,
|
||||
'day' => $day,
|
||||
]);
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note("tournaments: $tournaments_counter", 'p');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($debug) {
|
||||
Notice::note('days tournament done', 'g');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,239 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\CurlSofa;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\LoadDays;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\Sleeper;
|
||||
use App\Models\SofaScoreDayTournament;
|
||||
use App\Models\SofaScoreEventGrapped;
|
||||
use App\Models\SofaScoreTaskDay;
|
||||
use App\Models\SofaScoreTaskTournament;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
class Grapper
|
||||
{
|
||||
public static function load(int $task_id)
|
||||
{
|
||||
/**
|
||||
* , JSON_PRETTY_PRINT
|
||||
* to fromat json
|
||||
*/
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
$restart = Grap::$options['r'] ?? 0;
|
||||
$force = Grap::$options['f'] ?? 0;
|
||||
|
||||
if (! $task_id) {
|
||||
Notice::note('task id missing', 'r', 1);
|
||||
}
|
||||
|
||||
$days = LoadDays::load($task_id);
|
||||
|
||||
$count = 0;
|
||||
|
||||
/** take for task 2 the same like for task 1 */
|
||||
switch ($task_id) {
|
||||
case 1:
|
||||
case 2:
|
||||
$active_tournaments = SofaScoreTaskTournament::with('tournament')->where('sofa_score_task_id', 1)->where('disabled', false)->get();
|
||||
break;
|
||||
|
||||
default:
|
||||
$active_tournaments = SofaScoreTaskTournament::with('tournament')->where('sofa_score_task_id', $task_id)->where('disabled', false)->get();
|
||||
// $active_tournaments = SofaScoreTaskTournament::with('tournament')->where('sofa_score_tournament_id', 247)->where('sofa_score_task_id', $task_id)->where('disabled', false)->get();
|
||||
break;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restart
|
||||
*/
|
||||
if ($restart) {
|
||||
|
||||
SofaScoreEventGrapped::where('grapper_id', $task_id)->delete();
|
||||
|
||||
foreach ($days as $day) {
|
||||
// if restarting find position
|
||||
SofaScoreTaskDay::where('grapper_id', (int) $task_id)
|
||||
->where('day', $day)
|
||||
->update(['done' => 0]);
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('Restarted grapper', 'br', 1);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($days as $day) {
|
||||
|
||||
DaysTournament::get($day);
|
||||
|
||||
dd($active_tournaments);
|
||||
|
||||
foreach ($active_tournaments as $tournament) {
|
||||
|
||||
$res = SofaScoreDayTournament::whereDate('day', '=', $day)->where('tournament_id', $tournament->sofa_score_tournament_id)->first();
|
||||
|
||||
if ($res) {
|
||||
|
||||
if ($debug) {
|
||||
Notice::note($tournament->sofa_score_tournament_id, 'bb');
|
||||
}
|
||||
|
||||
if (! $force) {
|
||||
Sleeper::rand(1);
|
||||
} else {
|
||||
Sleeper::rand();
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note($day, 'br');
|
||||
}
|
||||
|
||||
$url = Grap::$options['base_url']."api/v1/unique-tournament/$tournament->sofa_score_tournament_id/scheduled-events/$day";
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
Notice::note($data, 'bb');
|
||||
|
||||
if (isset($data['events'])) {
|
||||
|
||||
if ($debug) {
|
||||
Notice::note($tournament->tournament->name, 'bb');
|
||||
}
|
||||
|
||||
foreach ($data['events'] as $event) {
|
||||
|
||||
Grap::$useragent = rand(1, 6);
|
||||
|
||||
if (! $force && SofaScoreEventGrapped::where('grapper_id', $task_id)->where('id', (int) $event['id'])->exists()) {
|
||||
if ($debug) {
|
||||
Notice::note('DB - Allready grapped at '.$day.' - '.$event['homeTeam']['name'].' vs '.$event['awayTeam']['name'], 'g');
|
||||
}
|
||||
} else {
|
||||
|
||||
$now = Carbon::now()->subHours(3);
|
||||
|
||||
$carbon_day = new Carbon($day);
|
||||
|
||||
$starttime = Carbon::createFromTimestamp($event['startTimestamp']);
|
||||
|
||||
// dd($starttime);
|
||||
|
||||
// if ($now->greaterThan($starttime) && $starttime->isSameDay($carbon_day)) {
|
||||
|
||||
if (! $force) {
|
||||
Sleeper::rand(1);
|
||||
} else {
|
||||
Sleeper::rand();
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note($day.' - '.$event['homeTeam']['name'].' vs '.$event['awayTeam']['name'], 'bg');
|
||||
}
|
||||
|
||||
$folder = strtolower(Grap::$storage.'/'.$day.'/'.$day.'-'.$event['tournament']['category']['slug'].'-'.$event['tournament']['slug'].'/'.$event['slug']);
|
||||
|
||||
File::makeDirectory($folder, 0775, true, true);
|
||||
|
||||
/*********************************
|
||||
* EVENT event
|
||||
*********************************/
|
||||
|
||||
File::put($folder.'/event.json', json_encode($event));
|
||||
|
||||
/*********************************
|
||||
* EVENT statistics
|
||||
*********************************/
|
||||
|
||||
$event_id = $event['id'];
|
||||
|
||||
$url = Grap::$options['base_url']."api/v1/event/$event_id/statistics";
|
||||
|
||||
Sleeper::rand();
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
$data['id'] = $event_id;
|
||||
|
||||
File::put($folder.'/statistics.json', json_encode($data));
|
||||
|
||||
/*********************************
|
||||
* EVENT lineups
|
||||
*********************************/
|
||||
|
||||
$url = Grap::$options['base_url']."api/v1/event/$event_id/lineups";
|
||||
|
||||
Sleeper::rand();
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
$data['id'] = $event_id;
|
||||
|
||||
File::put($folder.'/lineups.json', json_encode($data));
|
||||
|
||||
/*********************************
|
||||
* EVENT odds
|
||||
*********************************/
|
||||
|
||||
$url = Grap::$options['base_url']."api/v1/event/$event_id/odds/1/all";
|
||||
|
||||
Sleeper::rand();
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
$data['id'] = $event_id;
|
||||
|
||||
File::put($folder.'/odds.json', json_encode($data));
|
||||
|
||||
/*********************************
|
||||
* EVENT incidents
|
||||
*********************************/
|
||||
|
||||
$url = Grap::$options['base_url']."api/v1/event/$event_id/incidents";
|
||||
|
||||
Sleeper::rand();
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
$data['id'] = $event_id;
|
||||
|
||||
File::put($folder.'/incidents.json', json_encode($data));
|
||||
|
||||
$grapped = SofaScoreEventGrapped::firstOrNew(['id' => $event['id']]);
|
||||
$grapped->grapper_id = $task_id;
|
||||
$grapped->day = $day;
|
||||
$grapped->liga = $event['tournament']['name'];
|
||||
$grapped->name = $event['homeTeam']['name'].' vs '.$event['awayTeam']['name'];
|
||||
$grapped->url = $url;
|
||||
$grapped->starttime = $starttime->toDateTimeString();
|
||||
$grapped->save();
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SofaScoreTaskDay::updateOrCreate([
|
||||
'grapper_id' => (int) $task_id,
|
||||
'day' => $day,
|
||||
], [
|
||||
'done' => 1,
|
||||
]);
|
||||
|
||||
$count++;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note("$count days done, sleep 10-20 sec", 'p');
|
||||
}
|
||||
|
||||
if (! $force) {
|
||||
Sleeper::rand(2);
|
||||
} else {
|
||||
Sleeper::rand();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\CurlLivescore;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\CurlSofa;
|
||||
use App\Utilities\Notice;
|
||||
use DOMDocument;
|
||||
use DOMXPath;
|
||||
|
||||
class GrapperTest
|
||||
{
|
||||
public static $testfiles = '/Testfiles/';
|
||||
|
||||
public static function load()
|
||||
{
|
||||
$read = Grap::$options['R'] ?? 0;
|
||||
$save = Grap::$options['S'] ?? 0;
|
||||
|
||||
$testfile = 'livescore.txt';
|
||||
|
||||
$path = __DIR__ . self::$testfiles . $testfile;
|
||||
|
||||
Notice::note('Grapper testing ' . $testfile, 'b');
|
||||
|
||||
// $url = 'https://www.livescore.in/horse-racing/canada/woodbine-2020/';
|
||||
$url = 'https://www.sofascore.com/api/v1/event/16298660/statistics';
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
Notice::note($data, '', 1);
|
||||
|
||||
if ($read) {
|
||||
Notice::note('data read localy', 'p');
|
||||
|
||||
$data = file_get_contents($path);
|
||||
} else {
|
||||
$data = CurlLivescore::load($url);
|
||||
}
|
||||
|
||||
if ($save) {
|
||||
|
||||
file_put_contents($path, $data);
|
||||
|
||||
Notice::note('file saved localy', 'g');
|
||||
}
|
||||
|
||||
$dom = new DOMDocument;
|
||||
|
||||
// Prevent warnings caused by HTML5 tags that native DOMDocument doesn't fully understand
|
||||
libxml_use_internal_errors(true);
|
||||
|
||||
// Use mb_convert_encoding to ensure DOMDocument treats the input as UTF-8
|
||||
$dom->loadHTML(mb_convert_encoding($data, 'HTML-ENTITIES', 'UTF-8'));
|
||||
libxml_clear_errors();
|
||||
|
||||
// 3. Use XPath to query specific HTML elements
|
||||
$xpath = new DOMXPath($dom);
|
||||
|
||||
// Example: Target match rows or team names (Update classes based on actual DOM structure)
|
||||
// Modern livescore sites often use classes like '.event__match' or '.event__participant'
|
||||
$teams = $xpath->query("//div[contains(@class, 'event__participant')]");
|
||||
|
||||
foreach ($teams as $team) {
|
||||
echo trim($team->nodeValue) . PHP_EOL;
|
||||
}
|
||||
|
||||
Notice::note($data, 'p', 1);
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
|
||||
class ClearDir
|
||||
{
|
||||
public static function clear($dir = ''): void
|
||||
{
|
||||
$file = new Filesystem;
|
||||
$debug = Grap::$options['d'];
|
||||
|
||||
if ($dir) {
|
||||
$file->cleanDirectory($dir);
|
||||
if ($debug) {
|
||||
Notice::note('Folder removed', 'br');
|
||||
}
|
||||
} else {
|
||||
$file->cleanDirectory(Grap::$storage);
|
||||
if ($debug) {
|
||||
Notice::note('Folder content deleted', 'br');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Utilities\Notice;
|
||||
|
||||
class CurlSofa
|
||||
{
|
||||
public static function load(string $url)
|
||||
{
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note($url, 'b');
|
||||
}
|
||||
// $useragents = [];
|
||||
// $useragents[1] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36";
|
||||
// $useragents[2] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36";
|
||||
// $useragents[3] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15";
|
||||
// $useragents[4] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0";
|
||||
// $useragents[5] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0";
|
||||
// $useragents[6] = "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36";
|
||||
$useragents = [];
|
||||
$useragents[1] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15';
|
||||
$useragents[2] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15';
|
||||
$useragents[3] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36';
|
||||
$useragents[4] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Safari/605.1.15';
|
||||
$useragents[5] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0';
|
||||
$useragents[6] = 'Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36';
|
||||
|
||||
// GET /api/v1/config/default-unique-tournaments/AT/football HTTP/2
|
||||
// Host: www.sofascore.com
|
||||
// User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:139.0) Gecko/20100101 Firefox/139.0
|
||||
// Accept: */*
|
||||
// Accept-Language: de,en-US;q=0.7,en;q=0.3
|
||||
// Accept-Encoding: gzip, deflate, br, zstd
|
||||
// Referer: https://www.sofascore.com/
|
||||
// X-Requested-With: 629800
|
||||
// DNT: 1
|
||||
// Sec-GPC: 1
|
||||
// Connection: keep-alive
|
||||
// Sec-Fetch-Dest: empty
|
||||
// Sec-Fetch-Mode: cors
|
||||
// Sec-Fetch-Site: same-origin
|
||||
// Priority: u=4
|
||||
// Pragma: no-cache
|
||||
// Cache-Control: no-cache
|
||||
// TE: trailers
|
||||
$headers = [
|
||||
'User-Agent: '.$useragents[Grap::$useragent],
|
||||
'Accept: */*',
|
||||
'Accept-Language: de,en-US;q=0.7,en;q=0.3',
|
||||
'Accept-Encoding: gzip, deflate, br, zstd',
|
||||
'Referer: https://www.sofascore.com/',
|
||||
'X-Requested-With: 629800',
|
||||
'DNT: 1',
|
||||
'Sec-GPC: 1',
|
||||
'Connection: keep-alive',
|
||||
'Sec-Fetch-Dest: empty',
|
||||
'Sec-Fetch-Mode: cors',
|
||||
'Sec-Fetch-Site: same-origin',
|
||||
'Priority: u=4',
|
||||
'Pragma: no-cache',
|
||||
'Cache-Control: no-cache',
|
||||
'TE: trailers',
|
||||
];
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
// This line magically handles all decompression out-of-the-box:
|
||||
curl_setopt($ch, CURLOPT_ENCODING, '');
|
||||
$data = curl_exec($ch);
|
||||
|
||||
$data = json_decode($data, true);
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
class FileType
|
||||
{
|
||||
public static function filter(array $files, array $types = ['json'])
|
||||
{
|
||||
$filtered = [];
|
||||
foreach ($files as $file) {
|
||||
$path_parts = pathinfo($file);
|
||||
if (isset($path_parts['extension']) && in_array($path_parts['extension'], $types)) {
|
||||
$filtered[] = $file;
|
||||
}
|
||||
}
|
||||
|
||||
return $filtered;
|
||||
}
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Models\SofaScoreTask;
|
||||
use App\Models\SofaScoreTaskDay;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class LoadDays
|
||||
{
|
||||
public static function load(int $task_id)
|
||||
{
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
$restart = Grap::$options['r'] ?? 0;
|
||||
|
||||
$dates = [];
|
||||
|
||||
if (! $task_id) {
|
||||
Notice::note('no task id', 'br');
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
$task = SofaScoreTask::with('sport')->where('id', $task_id)->first();
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('Task id:' . $task->id . ', mode:' . $task->mode . ', sport:' . $task->sport->name);
|
||||
}
|
||||
|
||||
switch ($task->mode) {
|
||||
|
||||
case 'daily':
|
||||
$dates[] = ValidateDate::get(Grap::$folder);
|
||||
break;
|
||||
|
||||
case 'last3days':
|
||||
case 'range':
|
||||
switch ($task_id) {
|
||||
case 2:
|
||||
$from = Carbon::now()->subDays(3);
|
||||
$to = Carbon::now()->subDays(1);
|
||||
break;
|
||||
|
||||
default:
|
||||
$from = ValidateDate::get($task->day_from);
|
||||
$from = Carbon::createFromDate($from);
|
||||
$to = ValidateDate::get($task->day_to);
|
||||
$to = Carbon::createFromDate($to);
|
||||
break;
|
||||
}
|
||||
|
||||
$lengthdates = $from->diffInDays($to);
|
||||
|
||||
if ($lengthdates < 1) {
|
||||
Notice::note('start must be before end', 'r', 1);
|
||||
}
|
||||
|
||||
if ($restart) {
|
||||
// get all days
|
||||
while ($from <= $to) {
|
||||
$dates[] = $from->format('Y-m-d');
|
||||
$from->addDay();
|
||||
}
|
||||
} else {
|
||||
// remove days done
|
||||
while ($from <= $to) {
|
||||
|
||||
$res = SofaScoreTaskDay::firstOrNew(['grapper_id' => (int) $task_id, 'day' => $from->format('Y-m-d')]);
|
||||
|
||||
if (! $res->done) {
|
||||
$dates[] = $from->format('Y-m-d');
|
||||
}
|
||||
$from->addDay();
|
||||
}
|
||||
|
||||
shuffle($dates);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (! $dates) {
|
||||
Notice::note('NO DATES OR ALL GRAPPED', 'br', 1);
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note($dates, 'b');
|
||||
}
|
||||
|
||||
// remove when element in array is double (day and slug)
|
||||
$dates = array_unique($dates, SORT_REGULAR);
|
||||
|
||||
return $dates;
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Models\SofaScoreTournament;
|
||||
use App\Utilities\Notice;
|
||||
|
||||
class LoadTournaments
|
||||
{
|
||||
public static function load()
|
||||
{
|
||||
$sport_id = Nuh::$options['sport_id'];
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('LoadTournaments, sport: ' . $sport_id);
|
||||
}
|
||||
|
||||
$tornaments = SofaScoreTournament::select('name', 'tournament_id')->where('sport_id', $sport_id)->where('enabled', 1)->get();
|
||||
|
||||
if (! $tornaments) {
|
||||
Notice::note('no tornaments active for task', 'r', 1);
|
||||
}
|
||||
|
||||
return $tornaments;
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
|
||||
class MoveToArchive
|
||||
{
|
||||
public static function move(int $task_id)
|
||||
{
|
||||
$files = ReadDir::get_tree(Grap::$storage);
|
||||
|
||||
$filtered_files = FileType::filter($files, ['xlsx', 'json']);
|
||||
|
||||
|
||||
foreach ($filtered_files as $file) {
|
||||
|
||||
switch ($task_id) {
|
||||
case 1:
|
||||
$nfile = \str_replace('/daily/', '/daily_archiv/', $file);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
rename($file, $nfile);
|
||||
|
||||
dd($file, $nfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
class ReadDir
|
||||
{
|
||||
public static function get_tree(string $dir, &$results = array())
|
||||
{
|
||||
$files = scandir($dir);
|
||||
foreach ($files as $value) {
|
||||
$path = realpath($dir . DIRECTORY_SEPARATOR . $value);
|
||||
if (!is_dir($path)) {
|
||||
$results[] = $path;
|
||||
} else if ($value != "." && $value != "..") {
|
||||
self::get_tree($path, $results);
|
||||
$results[] = $path;
|
||||
}
|
||||
}
|
||||
|
||||
return $results;
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class RemoveDir
|
||||
{
|
||||
public static function remove(): void
|
||||
{
|
||||
$debug = Grap::$options['d'];
|
||||
|
||||
// Deletes the directory and everything inside it relative to the disk root
|
||||
|
||||
Storage::deleteDirectory(Grap::$storage . '/' . Grap::$folder);
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('Directory: ' . Grap::$storage . '/' . Grap::$folder . ' removed', 'p');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Models\SofaScoreTask;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class SetStorage
|
||||
{
|
||||
public static function set(int $task_id)
|
||||
{
|
||||
$debug = Grap::$options['d'];
|
||||
|
||||
$force = Grap::$options['f'];
|
||||
|
||||
$folder = Grap::$options['folder'] ?? '';
|
||||
|
||||
$date = Grap::$options['date'] ?? '';
|
||||
|
||||
$day = Grap::$options['day'] ?? 1;
|
||||
|
||||
// must be connectet to task for activated ligas
|
||||
$task = SofaScoreTask::where('id', $task_id)->first();
|
||||
|
||||
$sofascore_data = storage_path('sofascore_data') . '/';
|
||||
if ($task) {
|
||||
$storage_name = Strings::clean($task->name);
|
||||
|
||||
switch ($task->id) {
|
||||
case 1:
|
||||
Grap::$storage = $sofascore_data . $storage_name;
|
||||
Grap::$folder = Carbon::now()->subDays($day)->format('Y-m-d');
|
||||
Grap::$excel = Grap::$storage . '/' . Grap::$folder;
|
||||
break;
|
||||
case 2:
|
||||
Grap::$storage = $sofascore_data . $storage_name;
|
||||
Grap::$folder = $date;
|
||||
Grap::$excel = $sofascore_data . $storage_name . '/' . $date;
|
||||
break;
|
||||
case 3:
|
||||
Grap::$storage = $sofascore_data . 'range/' . $storage_name;
|
||||
Grap::$folder = $storage_name;
|
||||
Grap::$excel = $sofascore_data . 'range/' . $storage_name;
|
||||
break;
|
||||
case 4:
|
||||
Grap::$storage = $sofascore_data . $storage_name;
|
||||
Grap::$folder = 'rosa-' . Carbon::now()->format('Y-m-d');
|
||||
Grap::$excel = Grap::$storage . '/rosa-' . Carbon::now()->format('Y-m-d');
|
||||
break;
|
||||
case 5:
|
||||
Grap::$storage = $sofascore_data . 'excel';
|
||||
Grap::$folder = $folder;
|
||||
Grap::$excel = $sofascore_data . 'excel/' . $storage_name;
|
||||
break;
|
||||
}
|
||||
} elseif ($folder) {
|
||||
Grap::$storage = $sofascore_data;
|
||||
Grap::$folder = $folder;
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note(Grap::$storage, 'g');
|
||||
Notice::note(Grap::$folder, 'g');
|
||||
if (!$force) {
|
||||
sleep(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
class Sleeper
|
||||
{
|
||||
public static function rand($speed = false)
|
||||
{
|
||||
switch ($speed) {
|
||||
case 1:
|
||||
// 5 -10 sec
|
||||
$sleep = rand(5000000, 10000000);
|
||||
break;
|
||||
case 2:
|
||||
// 10 - 20 sec
|
||||
$sleep = rand(10000000, 20000000);
|
||||
break;
|
||||
|
||||
default:
|
||||
// 1 -1.5 sec
|
||||
$sleep = rand(100000, 150000);
|
||||
break;
|
||||
}
|
||||
|
||||
usleep($sleep);
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
class Strings
|
||||
{
|
||||
|
||||
public static function clean(string $string)
|
||||
{
|
||||
$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
|
||||
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
|
||||
$string = strtolower($string);
|
||||
|
||||
return preg_replace('/-+/', '-', $string); // Replaces multiple hyphens with single one.
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class ValidateDate
|
||||
{
|
||||
public static function get(string $date)
|
||||
{
|
||||
if (Carbon::createFromDate($date) !== false) {
|
||||
return $date;
|
||||
} else {
|
||||
Notice::note('Wrong date format', 'r', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use RecursiveDirectoryIterator;
|
||||
use RecursiveIteratorIterator;
|
||||
use ZipArchive;
|
||||
|
||||
class ZipFolder
|
||||
{
|
||||
public static function create()
|
||||
{
|
||||
|
||||
$zip = new ZipArchive;
|
||||
|
||||
if ($zip->open(Grap::$zipfile, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {
|
||||
|
||||
if (is_dir(Grap::$storage)) {
|
||||
|
||||
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(Grap::$storage));
|
||||
|
||||
foreach ($files as $file) {
|
||||
if (! $file->isDir()) {
|
||||
$filePath = $file->getRealPath();
|
||||
$relativePath = substr($filePath, strlen(Grap::$storage) + 1);
|
||||
$zip->addFile($filePath, $relativePath);
|
||||
}
|
||||
}
|
||||
$zip->close();
|
||||
}
|
||||
} else {
|
||||
return response()->json(['error' => 'Failed to create ZIP archive'], 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\FileType;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\ReadDir;
|
||||
use App\Utilities\Notice;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
class MakeExcel
|
||||
{
|
||||
public static $max = 2000;
|
||||
|
||||
public static function create(string $what = '')
|
||||
{
|
||||
ini_set('memory_limit', -1);
|
||||
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note("Make Excel");
|
||||
}
|
||||
|
||||
if ($what == 'day') {
|
||||
$files = ReadDir::get_tree(Grap::$storage . '/' . Grap::$folder);
|
||||
} else {
|
||||
$files = ReadDir::get_tree(Grap::$storage);
|
||||
}
|
||||
|
||||
|
||||
$files = array_chunk(FileType::filter($files), self::$max);
|
||||
|
||||
foreach ($files as $key => $value) {
|
||||
|
||||
$has = count($value);
|
||||
if (! $key && $has < self::$max) {
|
||||
$from = 1;
|
||||
$to = $has;
|
||||
} elseif (! $key) {
|
||||
$from = 1;
|
||||
$key++;
|
||||
$to = $key * self::$max;
|
||||
} elseif ($has == self::$max) {
|
||||
$from = $key * self::$max + 1;
|
||||
$key++;
|
||||
$to = $key * self::$max;
|
||||
} else {
|
||||
$from = $key * self::$max + 1;
|
||||
$to = $key * self::$max + $has;
|
||||
}
|
||||
|
||||
$spreadsheet = new Spreadsheet;
|
||||
$spreadsheet->getProperties()->setTitle(Grap::$excel . '_' . $from . '-' . $to);
|
||||
$activeWorksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
$column = 1;
|
||||
foreach ($value as $file) {
|
||||
$data = file_get_contents($file);
|
||||
$data = json_decode($data, true);
|
||||
$json_string = json_encode($data, JSON_PRETTY_PRINT);
|
||||
|
||||
$arr = explode(PHP_EOL, $json_string);
|
||||
$row = 0;
|
||||
foreach ($arr as $string) {
|
||||
$row++;
|
||||
$replacedString = preg_replace("/\\\\u([0-9abcdef]{4})/", "&#x$1;", $string);
|
||||
$utf8string = mb_convert_encoding($replacedString, 'UTF-8', 'HTML-ENTITIES');
|
||||
$activeWorksheet->setCellValue([$column, $row], $utf8string);
|
||||
}
|
||||
$column++;
|
||||
}
|
||||
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->save(Grap::$excel . '_' . $from . '-' . $to . '.xlsx');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
class Player
|
||||
{
|
||||
public static function call()
|
||||
{
|
||||
// https://www.sofascore.com/api/v1/player/824509
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\CurlSofa;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\Sleeper;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\Strings;
|
||||
use App\Models\SofaScoreRosa;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
class Rose
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
$restart = Grap::$options['r'] ?? 0;
|
||||
|
||||
if ($debug && ! $restart) {
|
||||
Notice::note('RESTART ?', 'bb');
|
||||
sleep(5);
|
||||
}
|
||||
|
||||
File::makeDirectory(Grap::$storage.'/'.Grap::$folder, 0775, true, true);
|
||||
|
||||
if ($restart) {
|
||||
SofaScoreRosa::query()->update(['grapped' => 0]);
|
||||
if ($debug) {
|
||||
Notice::note('reset all grapped to 0', 'r', 1);
|
||||
}
|
||||
} else {
|
||||
if ($debug) {
|
||||
Notice::note('continuing grapping', 'bg');
|
||||
}
|
||||
}
|
||||
|
||||
$res = SofaScoreRosa::where('is_active', 1)->where('grapped', 0)->get();
|
||||
|
||||
$all = $res->count();
|
||||
|
||||
if ($debug) {
|
||||
Notice::note("total $all", 'br');
|
||||
}
|
||||
|
||||
foreach ($res as $key => $value) {
|
||||
|
||||
if ($debug) {
|
||||
$key++;
|
||||
echo "\n$key/$all\n";
|
||||
}
|
||||
|
||||
$url = Grap::$options['base_url'].'api/v1/team/'.$value->ss_team_id.'/players';
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
$data['ss_team_id'] = $value->ss_team_id;
|
||||
$data['ss_team_name'] = $value->ss_team_name;
|
||||
|
||||
/*********************************
|
||||
* add team to folder
|
||||
*********************************/
|
||||
|
||||
File::put(Grap::$storage.'/'.Grap::$folder.'/'.Strings::clean($value->ss_team_name).'.json', json_encode($data));
|
||||
|
||||
SofaScoreRosa::where('id', $value->id)->update(['grapped' => 1]);
|
||||
|
||||
Sleeper::rand(rand(0, 3));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\FileType;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\ReadDir;
|
||||
use App\Mail\SofaScoreDataMail;
|
||||
use App\Models\SofaScoreEventGrapped;
|
||||
use App\Models\SofaScoreTask;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
class SendMail
|
||||
{
|
||||
public static function run(int $task_id)
|
||||
{
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('Send Mail', 'bb');
|
||||
}
|
||||
|
||||
$task = SofaScoreTask::where('id', $task_id)->first();
|
||||
|
||||
$files = ReadDir::get_tree(Grap::$storage);
|
||||
|
||||
$sendfiles = FileType::filter($files, ['xlsx']);
|
||||
|
||||
$header = self::createHeader($task);
|
||||
|
||||
$table = self::createTable($task);
|
||||
|
||||
Mail::to('hermann.telser@gmail.com')
|
||||
->cc('ubaldo.perrucci@gmail.com')
|
||||
->send(
|
||||
new SofaScoreDataMail($header, $table, $sendfiles)
|
||||
);
|
||||
if ($debug) {
|
||||
Notice::note("Mail Send", 'bg');
|
||||
}
|
||||
}
|
||||
|
||||
public static function createTable(SofaScoreTask $task)
|
||||
{
|
||||
$res = SofaScoreEventGrapped::where('grapper_id', $task->id)->get();
|
||||
|
||||
$table = '';
|
||||
foreach ($res as $value) {
|
||||
$table .= '|' . $value->liga . '|' . $value->name . '|' . $value->starttime . '|
|
||||
';
|
||||
}
|
||||
|
||||
return $table;
|
||||
}
|
||||
|
||||
public static function createHeader(SofaScoreTask $task)
|
||||
{
|
||||
switch ($task->id) {
|
||||
case 2:
|
||||
$text = $task->name . ' - ' . $task->day_from;
|
||||
break;
|
||||
case 3:
|
||||
$text = $task->name . ' - ' . $task->day_from . ' - ' . $task->day_to;
|
||||
break;
|
||||
|
||||
default:
|
||||
$text = $task->name . ' - ' . Grap::$folder;
|
||||
break;
|
||||
}
|
||||
|
||||
return $text;
|
||||
}
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Models\SofaScoreRosa;
|
||||
use App\Models\SofaScoreTask;
|
||||
use App\Models\SofaScoreTaskTournament;
|
||||
use App\Models\SofaScoreTournament;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class SettingsToLocal
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
$debug = Grap::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('⚽ settings to local');
|
||||
Notice::note('⚽ close all vpn');
|
||||
}
|
||||
exec('killall ssh');
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('⚽ open vpn');
|
||||
}
|
||||
exec('ssh -f -N -L 13306:127.0.0.1:3306 -p 58371 root@162.55.242.190');
|
||||
/**
|
||||
* SofaScoreRosa
|
||||
*/
|
||||
if ($debug) {
|
||||
Notice::note('SofaScoreRosa', 'g');
|
||||
}
|
||||
SofaScoreRosa::truncate();
|
||||
$rows = DB::connection('remote_mariadb')->table('sofa_score_rosas')->get();
|
||||
foreach ($rows as $row) {
|
||||
SofaScoreRosa::insert((array) $row);
|
||||
}
|
||||
/**
|
||||
* SofaScoreTask
|
||||
*/
|
||||
if ($debug) {
|
||||
Notice::note('SofaScoreTask', 'g');
|
||||
}
|
||||
SofaScoreTask::truncate();
|
||||
$rows = DB::connection('remote_mariadb')->table('sofa_score_tasks')->get();
|
||||
foreach ($rows as $row) {
|
||||
SofaScoreTask::insert((array) $row);
|
||||
}
|
||||
/**
|
||||
* SofaScoreTaskTournament
|
||||
*/
|
||||
if ($debug) {
|
||||
Notice::note('SofaScoreTaskTournament', 'g');
|
||||
}
|
||||
SofaScoreTaskTournament::truncate();
|
||||
$rows = DB::connection('remote_mariadb')->table('sofa_score_task_tournaments')->get();
|
||||
foreach ($rows as $row) {
|
||||
SofaScoreTaskTournament::insert((array) $row);
|
||||
}
|
||||
/**
|
||||
* SofaScoreTournament
|
||||
*/
|
||||
if ($debug) {
|
||||
Notice::note('SofaScoreTournament', 'g');
|
||||
}
|
||||
SofaScoreTournament::truncate();
|
||||
$rows = DB::connection('remote_mariadb')->table('sofa_score_tournaments')->get();
|
||||
foreach ($rows as $row) {
|
||||
SofaScoreTournament::insert((array) $row);
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('⚽ close all vpn');
|
||||
}
|
||||
exec('killall ssh');
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Models\SofaScoreRosaTournament;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class SettingsToProduction
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('Settings To Production', 'bb');
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('SofaScoreRosaTournament', 'g');
|
||||
}
|
||||
|
||||
DB::connection('remote_mariadb')->table('sofa_score_rosa_tournaments')->truncate();
|
||||
|
||||
$rows = SofaScoreRosaTournament::get();
|
||||
|
||||
foreach ($rows as $row) {
|
||||
|
||||
DB::connection('remote_mariadb')->table('sofa_score_rosa_tournaments')->insert([
|
||||
"ss_team_id" => $row->ss_team_id,
|
||||
"ss_tournament_id" => $row->ss_tournament_id,
|
||||
"disabled" => $row->disabled,
|
||||
"grapped" => $row->grapped,
|
||||
"created_at" => $row->created_at,
|
||||
"updated_at" => $row->updated_at,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grap;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\ReadDir;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\Strings;
|
||||
use App\Models\SofaScoreCategory;
|
||||
use App\Models\SofaScoreRosa;
|
||||
use App\Models\SofaScoreTask;
|
||||
use App\Models\StatistikoEvent;
|
||||
use App\Models\StatistikoPlayer;
|
||||
use App\Utilities\Notice;
|
||||
|
||||
class SqlMover
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
|
||||
Notice::note('SqlMover', 'b');
|
||||
|
||||
|
||||
// $task = SofaScoreTask::where('id', 3)->first();
|
||||
// $folder = Strings::clean($task->name) . '-' . $task->day_from . '-' . $task->day_to;
|
||||
// $sofascore_data = storage_path('sofascore_data') . '/';
|
||||
// $files = ReadDir::get_tree($sofascore_data . $folder);
|
||||
// dd($files);
|
||||
|
||||
$file = file_get_contents(__dir__ . '/SqlMover/country.txt');
|
||||
$data = explode(PHP_EOL, $file);
|
||||
foreach ($data as $key => $value) {
|
||||
if ($key) {
|
||||
$row = explode(',', $value);
|
||||
$country_id = $row[0];
|
||||
$flag = $row[2];
|
||||
$season_mode = $row[6];
|
||||
SofaScoreCategory::where('country_id', $country_id)->update([
|
||||
'season_mode' => $season_mode,
|
||||
'flag' => $flag,
|
||||
'in_soccer' => 1,
|
||||
]);
|
||||
}
|
||||
}
|
||||
Notice::note('DONE', 'r', 1);
|
||||
|
||||
|
||||
// Notice::note('StatistikoPlayer', 'b');
|
||||
// $res = StatistikoEvent::pluck('match_id');
|
||||
// foreach ($res as $match_id) {
|
||||
// $has = StatistikoPlayer::where('match_id', (int) $match_id)->first();
|
||||
// if (!$has)
|
||||
// echo $match_id . "\n";
|
||||
// }
|
||||
|
||||
// Notice::note('StatistikoEvent', 'b');
|
||||
// $res = StatistikoPlayer::get();
|
||||
// foreach ($res as $pl) {
|
||||
// $has = StatistikoEvent::where('match_id', (int) $pl->match_id)->first();
|
||||
// if (!$has) {
|
||||
// echo $match_id . "\n";
|
||||
// }
|
||||
// }
|
||||
|
||||
Notice::note('done', 'bb', 1);
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
id,name,icon,iso2,iso3,cc,season_mode,is_country,disabled,created_at,updated_at
|
||||
467,Argentina,flag-country-ar,AR,ARG,ARG,fullyear,1,0,NULL,2026-06-15 17:26:31
|
||||
454,Australia,flag-country-au,AU,AUS,AUS,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
383,Austria,flag-country-at,AT,AUT,AUT,halfyear,1,0,NULL,2026-06-15 15:46:53
|
||||
377,Belgium,flag-country-be,BE,BEL,BEL,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
409,Brazil,flag-country-br,BR,BRA,BRA,fullyear,1,0,NULL,2026-06-15 15:46:11
|
||||
363,Bulgaria,flag-country-bg,BG,BGR,BUL,halfyear,1,0,NULL,2026-06-15 17:22:37
|
||||
424,China,flag-country-cn,CN,CHN,CHN,fullyear,1,0,NULL,2026-06-15 15:44:40
|
||||
389,Colombia,flag-country-co,CO,COL,COL,fullyear,1,0,NULL,2026-06-15 17:25:12
|
||||
415,Croatia,flag-country-hr,HR,HRV,CRO,NULL,1,0,NULL,NULL
|
||||
468,Czech Republic,flag-country-cz,CZ,CZE,CZE,NULL,1,0,NULL,2025-08-30 05:52:59
|
||||
378,Denmark,flag-country-dk,DK,DNK,DEN,fullyear,1,0,NULL,2026-06-15 17:25:12
|
||||
382,England,extra-england,NULL,ENG,ENG,NULL,1,0,2025-05-24 06:40:45,2025-05-24 06:40:45
|
||||
678,Europe,flag-country-eu,NULL,NULL,REUROPE,NULL,0,0,2026-02-24 16:28:34,2026-02-24 16:30:36
|
||||
381,European Cup,flag-country-eu,NULL,NULL,ECUP,halfyear,1,0,2025-08-30 04:45:37,2026-06-15 17:21:02
|
||||
403,Finland,flag-country-fi,FI,FIN,FIN,fullyear,1,0,NULL,2026-06-15 17:25:12
|
||||
408,France,flag-country-fr,FR,FRA,FRA,halfyear,1,0,NULL,2026-06-15 15:47:10
|
||||
446,Germany,flag-country-de,DE,DEU,GER,halfyear,1,0,NULL,2026-06-15 15:47:39
|
||||
394,Greece,flag-country-gr,GR,GRC,GRE,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
407,Holland,flag-country-nl,NL,NLD,DUT,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
412,Hungary,flag-country-hu,HU,HUN,HUN,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
373,Iceland,flag-country-is,IS,NULL,ICE,NULL,1,0,2025-08-30 04:45:33,2025-08-30 05:52:59
|
||||
466,International,extra-caf,NULL,NULL,INT,NULL,1,0,2025-08-30 04:45:33,2025-08-30 05:52:59
|
||||
543,International Cup,extra-world,NULL,NULL,ICUP,NULL,1,0,2025-08-30 04:45:36,2025-08-30 05:52:59
|
||||
435,Ireland,flag-country-ie,IE,IRL,IRE,NULL,1,0,NULL,NULL
|
||||
398,Italy,flag-country-it,IT,ITA,ITA,halfyear,1,0,NULL,2026-06-15 15:46:41
|
||||
416,Japan,flag-country-jp,JP,JPN,JPN,fullyear,1,0,NULL,2026-06-15 15:44:23
|
||||
406,Major League Soccer,NULL,NULL,NULL,MLS,fullyear,1,0,2025-08-30 04:45:33,2026-06-15 17:25:12
|
||||
413,Mexico,flag-country-mx,MX,MEX,MEX,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
426,Northern Ireland,extra-nordirland,NULL,NIR,NIR,NULL,1,0,2025-05-24 06:40:45,2025-05-24 06:40:45
|
||||
431,Norway,flag-country-no,NO,NOR,NOR,fullyear,1,0,NULL,2026-06-15 15:45:46
|
||||
457,Peru,flag-country-pe,PE,PER,PER,NULL,1,0,NULL,2025-05-24 06:40:45
|
||||
386,Poland,flag-country-pl,PL,POL,POL,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
418,Portugal,flag-country-pt,PT,PRT,POR,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
443,Romania,flag-country-ro,RO,ROU,ROM,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
368,Russia,flag-country-ru,RU,RUS,RUS,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
462,Saudi Arabia,flag-country-sa,SA,SAU,KSA,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
449,Scotland,extra-scotland,NULL,SCO,SCO,halfyear,1,0,2025-05-24 06:40:45,2026-06-15 17:21:02
|
||||
428,Serbia,flag-country-rs,RS,SRB,SRB,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
391,Slovakia,flag-country-sk,SK,SVK,SVK,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
441,Slovenia,flag-country-si,SI,SVN,SLO,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
680,South America,extra-world,NULL,NULL,RSOAM,NULL,0,0,2026-02-24 16:28:34,2026-02-24 16:28:34
|
||||
465,South America Cup,extra-world,NULL,NULL,SACUP,NULL,0,0,2026-02-24 16:28:34,2026-02-24 16:28:34
|
||||
437,South Korea,flag-country-kr,KR,KOR,KOR,fullyear,1,0,NULL,2026-06-15 17:25:12
|
||||
438,Spain,flag-country-es,ES,ESP,SPA,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
410,Sweden,flag-country-se,SE,SWE,SWE,fullyear,1,0,NULL,2026-06-15 15:45:31
|
||||
451,Switzerland,flag-country-ch,CH,CHE,SWI,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
405,Turkey,flag-country-tr,TR,TUR,TUR,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
452,Ukraine,flag-country-ua,UA,UKR,UKR,halfyear,1,0,NULL,2026-06-15 17:21:02
|
||||
1,World,extra-world,NULL,NULL,NULL,NULL,0,0,NULL,NULL
|
||||
531,World Club Cup,NULL,NULL,NULL,WCLUB,NULL,0,0,2026-02-24 16:28:34,2026-02-24 16:28:34
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,880 +0,0 @@
|
||||
ARG1;Aldosivi;36836;Aldosivi;aldosivi
|
||||
ARG1;Argentinos Juniors;3216;Argentinos Juniors;argentinos-juniors
|
||||
ARG1;Atletico Tucuman;36833;Atletico Tucuman;atletico-tucuman
|
||||
ARG1;Banfield;3219;Banfield;banfield
|
||||
ARG1;Barracas Central;65668;Barracas Central;barracas-central
|
||||
ARG1;Belgrano;3203;Belgrano;belgrano
|
||||
ARG1;Boca Juniors;3202;Boca Juniors;boca-juniors
|
||||
ARG1;Central Cordoba;65676;Central Córdoba;central-cordoba
|
||||
ARG1;Defensa y Justicia;36839;Defensa y Justicia;defensa-y-justicia
|
||||
ARG1;Deportivo Riestra;189723;Deportivo Riestra;deportivo-riestra
|
||||
ARG1;Estudiantes;3206;Estudiantes de La Plata;estudiantes-de-la-plata
|
||||
ARG1;Estudiantes Rio Cuarto;266694;Estudiantes de Río Cuarto;estudiantes-de-rio-cuarto
|
||||
ARG1;Gimnasia LP;3205;Gimnasia y Esgrima;gimnasia-y-esgrima
|
||||
ARG1;Gimnasia Mendoza;188441;Gimnasia y Esgrima Mendoza;gimnasia-y-esgrima-mendoza
|
||||
ARG1;Huracan;7629;CA Huracan;ca-huracan
|
||||
ARG1;Independiente;3209;Independiente;independiente
|
||||
ARG1;Independiente Rivadavia;36842;Independiente Rivadavia;independiente-rivadavia
|
||||
ARG1;Instituto Cordoba;4937;Instituto Córdoba;instituto-cordoba
|
||||
ARG1;Lanus;3218;Lanús;lanus
|
||||
ARG1;Newell's Old Boys;3212;Newell's Old Boys;newells-old-boys
|
||||
ARG1;Platense;36837;Platense;platense
|
||||
ARG1;Racing Club;3215;Racing Club;racing-club
|
||||
ARG1;River Plate;3211;River Plate;river-plate
|
||||
ARG1;Rosario Central;3217;Rosario Central;rosario-central
|
||||
ARG1;San Lorenzo;3201;San Lorenzo;san-lorenzo
|
||||
ARG1;Sarmiento;42338;Sarmiento;sarmiento
|
||||
ARG1;Talleres;3210;Talleres;talleres
|
||||
ARG1;Tigre;7628;Tigre;tigre
|
||||
ARG1;Union Santa Fe;3204;Unión de Santa Fe;union-de-santa-fe
|
||||
ARG1;Velez Sarsfield;3208;Velez Sarsfield;velez-sarsfield
|
||||
AUS1;Adelaide United;2946;Adelaide United;adelaide-united
|
||||
AUS1;Auckland ;800224;Auckland FC;auckland-fc
|
||||
AUS1;Brisbane Roar;5968;Brisbane Roar;brisbane-roar
|
||||
AUS1;Central Coast Mariners;5966;Central Coast Mariners;central-coast-mariners
|
||||
AUS1;Macarthur;371682;Macarthur FC;macarthur-fc
|
||||
AUS1;Melbourne City;42210;Melbourne City;melbourne-city
|
||||
AUS1;Melbourne Victory;5970;Melbourne Victory;melbourne-victory
|
||||
AUS1;Newcastle Jets;2934;Newcastle Jets;newcastle-jets
|
||||
AUS1;Perth Glory;2945;Perth Glory;perth-glory
|
||||
AUS1;Sydney;5971;Sydney FC;sydney-fc
|
||||
AUS1;Wellington Phoenix;7568;Wellington Phoenix;wellington-phoenix
|
||||
AUS1;Western Sidney Wanderers;72926;Western Sydney Wanderers;western-sydney-wanderers
|
||||
AUT1;Altach;4856;SC Rheindorf Altach;sc-rheindorf-altach
|
||||
AUT1;Austria Lustenau;2062;Austria Lustenau;austria-lustenau
|
||||
AUT1;Austria Wien;2203;Austria Wien;austria-wien
|
||||
AUT1;Grazer;2052;Grazer AK 1902;grazer-ak-1902
|
||||
AUT1;Hartberg;2075;TSV Hartberg;tsv-hartberg
|
||||
AUT1;LASK Linz;2058;LASK;lask
|
||||
AUT1;Rapid Wien;2055;Rapid Wien;rapid-wien
|
||||
AUT1;Ried;2049;SV Ried;sv-ried
|
||||
AUT1;Salzburg;2046;Red Bull Salzburg;red-bull-salzburg
|
||||
AUT1;Sturm Graz;2051;SK Sturm Graz;sk-sturm-graz
|
||||
AUT1;Tirol Innsbruck;5405;WSG Swarovski Tirol;wsg-swarovski-tirol
|
||||
AUT1;Wolfsberger;2076;Wolfsberger AC;wolfsberger-ac
|
||||
BEL1;Anderlecht;2900;RSC Anderlecht;rsc-anderlecht
|
||||
BEL1;Antwerp;2889;Royal Antwerp FC;royal-antwerp-fc
|
||||
BEL1;Beveren;4859;SK Beveren;sk-beveren
|
||||
BEL1;Cercle Brugge;2929;Cercle Brugge;cercle-brugge
|
||||
BEL1;Charleroi;2898;RC Sporting Charleroi;rc-sporting-charleroi
|
||||
BEL1;Club Brugge;2888;Club Brugge;club-brugge
|
||||
BEL1;Genk;2890;KRC Genk;krc-genk
|
||||
BEL1;Gent;2903;KAA Gent;kaa-gent
|
||||
BEL1;Kortrijk;4858;KV Kortrijk;kv-kortrijk
|
||||
BEL1;La Louviere;368506;RAAL La Louvière;raal-la-louviere
|
||||
BEL1;Lommel;5046;Lommel SK;lommel-sk
|
||||
BEL1;Mechelen;5044;KV Mechelen;kv-mechelen
|
||||
BEL1;OH Leuven;2918;Oud-Heverlee Leuven;oud-heverlee-leuven
|
||||
BEL1;Sint Truiden;2895;Sint-Truidense VV;sint-truidense-vv
|
||||
BEL1;Standard Liege;2901;Standard Liege;standard-liege
|
||||
BEL1;Union Saint Gilloise;4860;Royale Union Saint-Gilloise;royale-union-saint-gilloise
|
||||
BEL1;Westerlo;2893;KVC Westerlo;kvc-westerlo
|
||||
BEL1;Zulte Waregem;2933;SV Zulte Waregem;sv-zulte-waregem
|
||||
BOL1;Always Ready;268083;Club Always Ready;club-always-ready
|
||||
BOL1;Blooming;6968;Blooming;blooming
|
||||
BOL1;Bolivar;7059;Bolívar;bolivar
|
||||
BOL1;Independiente Petrolero;372975;Club Independiente;independiente-petrolero
|
||||
BRA1;Atletico MG;1977;Atletico Mineiro;atletico-mineiro
|
||||
BRA1;Atletico PR;1967;Athletico Paranaense;athletico-paranaense
|
||||
BRA1;Bahia;1955;Bahia;bahia
|
||||
BRA1;Botafogo;1958;Botafogo;botafogo
|
||||
BRA1;Bragantino;1999;RB Bragantino;red-bull-bragantino
|
||||
BRA1;Chapecoense;21845;Chapecoense;chapecoense
|
||||
BRA1;Corinthians;1957;Corinthians;corinthians
|
||||
BRA1;Coritiba;1982;Coritiba;coritiba
|
||||
BRA1;Cruzeiro;1954;Cruzeiro;cruzeiro
|
||||
BRA1;Flamengo;5981;Flamengo;flamengo
|
||||
BRA1;Fluminense;1961;Fluminense;fluminense
|
||||
BRA1;Gremio;5926;Gremio;gremio
|
||||
BRA1;Internacional;1966;Internacional;internacional
|
||||
BRA1;Mirassol;21982;Mirassol;mirassol
|
||||
BRA1;Palmeiras;1963;Palmeiras;palmeiras
|
||||
BRA1;Remo;2012;Remo;remo
|
||||
BRA1;Santos;1968;Santos;santos
|
||||
BRA1;Sao Paulo;1981;Sao Paulo;sao-paulo
|
||||
BRA1;Vasco da Gama;1974;Vasco da Gama;vasco-da-gama
|
||||
BRA1;Vitoria;1962;Vitória;vitoria
|
||||
BUL1;Arda;274971;Arda Kardzhali;arda-kardzhali
|
||||
BUL1;Botev Plovdiv;5241;Botev Plovdiv;botev-plovdiv
|
||||
BUL1;Botev Vratsa;36938;Botev Vratsa;botev-vratsa
|
||||
BUL1;Cherno More;3280;Cherno More Varna;cherno-more-varna
|
||||
BUL1;CSKA 1948 Sofia;252080;FC CSKA 1948 Sofia;fc-cska-1948-sofia
|
||||
BUL1;CSKA Sofia;3275;CSKA Sofia;cska-sofia
|
||||
BUL1;Dunav Ruse;3286;Dunav Ruse;dunav-ruse
|
||||
BUL1;Levski Sofia;3273;Levski Sofia;levski-sofia
|
||||
BUL1;Lokomotiv Plovdiv;3272;Lokomotiv Plovdiv;lokomotiv-plovdiv
|
||||
BUL1;Lokomotiv Sofia;3277;Lokomotiv Sofia;lokomotiv-sofia
|
||||
BUL1;Ludogorets;43840;Ludogorets Razgrad;ludogorets-razgrad
|
||||
BUL1;Septemvri Sofia;201203;FK Septemvri Sofia;fk-septemvri-sofia
|
||||
BUL1;Slavia Sofia;3274;Slavia Sofia;slavia-sofia
|
||||
BUL1;Spartak Varna;3278;FK Spartak Varna;fk-spartak-varna
|
||||
CHI1;Audax Italiano;3162;Audax Italiano;audax-italiano
|
||||
CHI1;Coquimbo Unido;3165;Coquimbo Unido;coquimbo-unido
|
||||
CHI1;O'Higgins;3163;O'Higgins;ohiggins
|
||||
CHI1;Palestino;3157;Palestino;palestino
|
||||
CHI1;UC Chile;3151;Universidad Católica;universidad-catolica
|
||||
CHN1;Beijing Guoan;3376;Beijing Sinobo Guoan;beijing-sinobo-guoan
|
||||
CHN1;Chengdu Rongcheng;221241;Chengdu Rongcheng;chengdu-rongcheng
|
||||
CHN1;Chongqing Tonglianglong;474989;Chongqing Tonglianglong FC;chongqing-tonglianglong-fc
|
||||
CHN1;Dalian Yingbo;474992;Dalian Yingbo FC;dalian-young-boy-fc
|
||||
CHN1;Henan Songshan;34692;Henan Jianye;henan-jianye
|
||||
CHN1;Liaoning Tieren;221240;Liaoning Tieren FC;liaoning-shenyang-urban
|
||||
CHN1;Qingdao Hainiu;34695;Qingdao Hainiu;qingdao-hainiu
|
||||
CHN1;Qingdao West Coast;369532;Qingdao West Coast;qingdao-west-coast
|
||||
CHN1;Shandong Taishan;3371;Shandong Luneng Taishan;shandong-luneng-taishan
|
||||
CHN1;Shanghai Port;41537;Shanghai Port;shanghai-port
|
||||
CHN1;Shanghai Shenhua;3373;Shanghai Greenland Shenhua;shanghai-greenland-shenhua
|
||||
CHN1;Shenzhen Peng City;281331;Shenzhen City;shenzhen-city
|
||||
CHN1;Tianjin Tigers;3367;Tianjin Tigers;tianjin-tigers
|
||||
CHN1;Wuhan Three Towns;295152;Wuhan Three Towns;wuhan-three-towns
|
||||
CHN1;Yunnan Yukun;474991;Yunnan Yukun;yunnan-yukun
|
||||
CHN1;Zhejiang Professional;34697;Zhejiang;zhejiang
|
||||
COL1;Aguilas Doradas;48244;Rionegro Águilas Doradas;rionegro-aguilas-doradas
|
||||
COL1;Alianza FC;504899;Alianza Valledupar FC;alianza-futbol-club
|
||||
COL1;America de Cali;6102;América de Cali;america-de-cali
|
||||
COL1;Atletico Bucaramanga;6103;Atlético Bucaramanga;atletico-bucaramanga
|
||||
COL1;Atletico Nacional;6106;Atlético Nacional;atletico-nacional
|
||||
COL1;Boyaca Chico;6107;Boyacá Chicó FC;boyaca-chico-fc
|
||||
COL1;Deportes Tolima;6111;Deportes Tolima;deportes-tolima
|
||||
COL1;Deportivo Cali;6112;Deportivo Cali;deportivo-cali
|
||||
COL1;Deportivo Cucuta;6108;Cúcuta Deportivo;cucuta-deportivo
|
||||
COL1;Deportivo Pasto;6113;Deportivo Pasto;deportivo-pasto
|
||||
COL1;Deportivo Pereira;6109;Deportivo Pereira;deportivo-pereira
|
||||
COL1;Fortaleza CEIF;89368;Fortaleza CEIF;fortaleza-ceif
|
||||
COL1;Independiente Medellin;6115;Independiente Medellín;independiente-medellin
|
||||
COL1;Independiente Santa Fe;6116;Independiente Santa Fe;independiente-santa-fe
|
||||
COL1;Inter Bogota;1164534;Internacional de Bogota;internacional-de-bogota
|
||||
COL1;Jaguares de Cordoba;89370;Jaguares de Córdoba;jaguares-de-cordoba
|
||||
COL1;Junior FC;6105;Junior Barranquilla;junior-barranquilla
|
||||
COL1;Llaneros;89374;Llaneros FC;llaneros-fc
|
||||
COL1;Millonarios;6117;Millonarios;millonarios
|
||||
COL1;Once Caldas;6118;Once Caldas;once-caldas
|
||||
CRO1;Dinamo Zagreb;2032;GNK Dinamo Zagreb;gnk-dinamo-zagreb
|
||||
CRO1;Hajduk Split;2036;HNK Hajduk Split;hnk-hajduk-split
|
||||
CRO1;Istra;25529;NK Istra 1961;nk-istra-1961
|
||||
CRO1;Lokomotiva Zagreb;36246;NK Lokomotiva Zagreb;nk-lokomotiva-zagreb
|
||||
CRO1;Osijek;2040;NK Osijek;nk-osijek
|
||||
CRO1;Rijeka;2039;HNK Rijeka;hnk-rijeka
|
||||
CRO1;Rudes;35226;NK Rudeš;nk-rudes
|
||||
CRO1;Slaven Koprivnica;2042;NK Slaven Belupo;nk-slaven-belupo
|
||||
CRO1;Varazdin;231380;NK Varaždin;nk-varazdin
|
||||
CRO1;Velika Gorica;43917;HNK Gorica;hnk-gorica
|
||||
CZE1;Artis Brno;35264;SK Artis Brno;sk-lisen
|
||||
CZE1;Banik Ostrava;2204;Baník Ostrava;banik-ostrava
|
||||
CZE1;Bohemians Praha;6064;Bohemians Praha 1905;bohemians-praha-1905
|
||||
CZE1;Hradec Kralove;2217;FC Hradec Kralove;fc-hradec-kralove
|
||||
CZE1;Jablonec;2205;FK Jablonec;fk-jablonec
|
||||
CZE1;Mlada Boleslav;2224;Mlada Boleslav;mlada-boleslav
|
||||
CZE1;Pardubice;2230;Pardubice;pardubice
|
||||
CZE1;Sigma Olomouc;2207;SK Sigma Olomouc;sk-sigma-olomouc
|
||||
CZE1;Slavia Praha;2216;Slavia Praha;slavia-praha
|
||||
CZE1;Slovacko;4871;1. FC Slovacko;1-fc-slovacko
|
||||
CZE1;Slovan Liberec;2219;Slovan Liberec;slovan-liberec
|
||||
CZE1;Sparta Praha;2218;Sparta Praha;sparta-praha
|
||||
CZE1;Teplice;2208;FK Teplice;fk-teplice
|
||||
CZE1;Viktoria Plzen;4502;Viktoria Plzeň;viktoria-plzen
|
||||
CZE1;Zbrojovka Brno;2210;FC Zbrojovka Brno;fc-zbrojovka-brno
|
||||
CZE1;Zlin;2220;Fastav Zlín;fastav-zlin
|
||||
DEN1;AGF Aarhus;1291;AGF;agf
|
||||
DEN1;Brondby;1281;Brøndby IF;brondby-if
|
||||
DEN1;Horsens;1297;AC Horsens;ac-horsens
|
||||
DEN1;Kobenhavn;1284;FC København;fc-kobenhavn
|
||||
DEN1;Lyngby;1756;Lyngby BK;lyngby-bk
|
||||
DEN1;Midtjylland;1289;FC Midtjylland;fc-midtjylland
|
||||
DEN1;Nordsjaelland;1292;FC Nordsjælland;fc-nordsjaelland
|
||||
DEN1;OB Odense;1286;OB;ob
|
||||
DEN1;Randers;1301;Randers FC;randers-fc
|
||||
DEN1;Silkeborg;1285;Silkeborg;silkeborg
|
||||
DEN1;Sonderjyske;1295;SønderjyskE;sonderjyske
|
||||
DEN1;Viborg;1288;Viborg FF;viborg-ff
|
||||
ECU1;Barcelona Guayaquil;5250;Barcelona SC Guayaquil;barcelona-sc
|
||||
ECU1;Deportivo Cuenca;5251;Deportivo Cuenca;deportivo-cuenca
|
||||
ECU1;Independiente Del Valle;39723;Independiente del Valle;independiente-del-valle
|
||||
ECU1;LDU Quito;5257;LDU;ldu
|
||||
ECU1;Macara;6001;Macará;macara
|
||||
ENG1;Arsenal;42;Arsenal;arsenal
|
||||
ENG1;Aston Villa;40;Aston Villa;aston-villa
|
||||
ENG1;Bournemouth;60;Bournemouth;bournemouth
|
||||
ENG1;Brentford;50;Brentford;brentford
|
||||
ENG1;Brighton & Hove;30;Brighton & Hove Albion;brighton-hove-albion
|
||||
ENG1;Chelsea;38;Chelsea;chelsea
|
||||
ENG1;Coventry;11;Coventry City;coventry-city
|
||||
ENG1;Crystal Palace;7;Crystal Palace;crystal-palace
|
||||
ENG1;Everton;48;Everton;everton
|
||||
ENG1;Fulham;43;Fulham;fulham
|
||||
ENG1;Hull;96;Hull City;hull-city
|
||||
ENG1;Ipswich;32;Ipswich Town;ipswich-town
|
||||
ENG1;Leeds;34;Leeds United;leeds-united
|
||||
ENG1;Liverpool;44;Liverpool;liverpool
|
||||
ENG1;Manchester City;17;Manchester City;manchester-city
|
||||
ENG1;Manchester United;35;Manchester United;manchester-united
|
||||
ENG1;Newcastle;39;Newcastle United;newcastle-united
|
||||
ENG1;Nottingham;14;Nottingham Forest;nottingham-forest
|
||||
ENG1;Sunderland;41;Sunderland;sunderland
|
||||
ENG1;Tottenham;33;Tottenham;tottenham
|
||||
ENG2;Birmingham;9;Birmingham City;birmingham-city
|
||||
ENG2;Blackburn;46;Blackburn Rovers;blackburn-rovers
|
||||
ENG2;Bolton;5;Bolton Wanderers;bolton-wanderers
|
||||
ENG2;Bristol City;58;Bristol City;bristol-city
|
||||
ENG2;Burnley;6;Burnley;burnley
|
||||
ENG2;Cardiff;61;Cardiff City;cardiff-city
|
||||
ENG2;Charlton;47;Charlton Athletic;charlton-athletic
|
||||
ENG2;Derby;27;Derby County;derby-county
|
||||
ENG2;Lincoln;92;Lincoln City;lincoln-city
|
||||
ENG2;Middlesbrough;36;Middlesbrough;middlesbrough
|
||||
ENG2;Millwall;25;Millwall;millwall
|
||||
ENG2;Norwich;263;Norwich City;norwich-city
|
||||
ENG2;Portsmouth;2;Portsmouth;portsmouth
|
||||
ENG2;Preston;21;Preston North End;preston-north-end
|
||||
ENG2;QPR;1;Queens Park Rangers;queens-park-rangers
|
||||
ENG2;Sheffield United;15;Sheffield United;sheffield-united
|
||||
ENG2;Southampton;45;Southampton;southampton
|
||||
ENG2;Stoke;29;Stoke City;stoke-city
|
||||
ENG2;Swansea;74;Swansea City;swansea-city
|
||||
ENG2;Watford;24;Watford;watford
|
||||
ENG2;West Bromwich;8;West Bromwich Albion;west-bromwich-albion
|
||||
ENG2;West Ham;37;West Ham United;west-ham-united
|
||||
ENG2;Wolverhampton;3;Wolverhampton;wolverhampton
|
||||
ENG2;Wrexham;64;Wrexham;wrexham
|
||||
ENG3;Barnsley;23;Barnsley;barnsley
|
||||
ENG3;Blackpool;67;Blackpool;blackpool
|
||||
ENG3;Bradford City;22;Bradford City;bradford-city
|
||||
ENG3;Bromley;180;Bromley;bromley
|
||||
ENG3;Burton;134;Burton Albion;burton-albion
|
||||
ENG3;Cambridge United;63;Cambridge United;cambridge-united
|
||||
ENG3;Doncaster;84;Doncaster Rovers;doncaster-rovers
|
||||
ENG3;Huddersfield;59;Huddersfield Town;huddersfield-town
|
||||
ENG3;Leicester;31;Leicester City;leicester-city
|
||||
ENG3;Leyton Orient;83;Leyton Orient;leyton-orient
|
||||
ENG3;Luton;72;Luton Town;luton-town
|
||||
ENG3;Mansfield;70;Mansfield Town;mansfield-town
|
||||
ENG3;Milton Keynes;4;Milton Keynes Dons;milton-keynes-dons
|
||||
ENG3;Notts County;56;Notts County;notts-county
|
||||
ENG3;Oxford United;95;Oxford United;oxford-united
|
||||
ENG3;Peterborough;54;Peterborough United;peterborough-united
|
||||
ENG3;Plymouth;71;Plymouth Argyle;plymouth-argyle
|
||||
ENG3;Reading;28;Reading;reading
|
||||
ENG3;Sheffield Wednesday;12;Sheffield Wednesday;sheffield-wednesday
|
||||
ENG3;Stevenage;133;Stevenage;stevenage
|
||||
ENG3;Stockport;10;Stockport County;stockport-county
|
||||
ENG3;Wigan;49;Wigan Athletic;wigan-athletic
|
||||
ENG3;Wimbledon;23957;AFC Wimbledon;afc-wimbledon
|
||||
ENG3;Wycombe;62;Wycombe Wanderers;wycombe-wanderers
|
||||
ENG4;Accrington;187;Accrington Stanley;accrington-stanley
|
||||
ENG4;Barnet;77;Barnet;barnet
|
||||
ENG4;Bristol Rovers;76;Bristol Rovers;bristol-rovers
|
||||
ENG4;Cheltenham;69;Cheltenham Town;cheltenham-town
|
||||
ENG4;Chesterfield;68;Chesterfield;chesterfield
|
||||
ENG4;Colchester;66;Colchester United;colchester-united
|
||||
ENG4;Crawley;4875;Crawley Town;crawley-town
|
||||
ENG4;Crewe;19;Crewe Alexandra;crewe-alexandra
|
||||
ENG4;Exeter;86;Exeter City;exeter-city
|
||||
ENG4;Fleetwood;23959;Fleetwood Town;fleetwood-town
|
||||
ENG4;Gillingham;20;Gillingham;gillingham
|
||||
ENG4;Grimsby;18;Grimsby Town;grimsby-town
|
||||
ENG4;Newport;79;Newport County;newport-county
|
||||
ENG4;Northampton;57;Northampton Town;northampton-town
|
||||
ENG4;Oldham;65;Oldham Athletic;oldham-athletic
|
||||
ENG4;Port Vale;55;Port Vale;port-vale
|
||||
ENG4;Rochdale;103;Rochdale;rochdale
|
||||
ENG4;Rotherham;13;Rotherham United;rotherham-united
|
||||
ENG4;Salford;37998;Salford City;salford-city
|
||||
ENG4;Shrewsbury;82;Shrewsbury Town;shrewsbury-town
|
||||
ENG4;Swindon;53;Swindon Town;swindon-town
|
||||
ENG4;Tranmere;51;Tranmere Rovers;tranmere-rovers
|
||||
ENG4;Walsall;26;Walsall;walsall
|
||||
ENG4;York City;73;York City;york-city
|
||||
FIN1;Gnistan;2271;Gnistan;gnistan
|
||||
FIN1;HJK;2242;HJK Helsinki;hjk-helsinki
|
||||
FIN1;Ilves;22386;Ilves Tampere;ilves-tampere
|
||||
FIN1;Inter Turku;2247;Inter Turku;inter-turku
|
||||
FIN1;Jaro;2252;FF Jaro;ff-jaro
|
||||
FIN1;KuPS;2244;KuPS Kuopio;kups-kuopio
|
||||
FIN1;Lahti;2249;FC Lahti;fc-lahti
|
||||
FIN1;Mariehamn;5058;IFK Mariehamn;ifk-mariehamn
|
||||
FIN1;Oulu;5114;AC Oulu;ac-oulu
|
||||
FIN1;SJK;22395;SJK Seinajoki;sjk-seinajoki
|
||||
FIN1;TPS;2254;TPS Turku;tps-turku
|
||||
FIN1;VPS;2246;VPS;vps
|
||||
FRA1;Angers;1684;Angers;angers
|
||||
FRA1;Auxerre;1646;AJ Auxerre;aj-auxerre
|
||||
FRA1;Brest;1715;Stade Brestois 29;stade-brestois-29
|
||||
FRA1;Le Havre;1662;Le Havre;le-havre
|
||||
FRA1;Le Mans;1672;Le Mans;le-mans
|
||||
FRA1;Lens;1648;RC Lens;rc-lens
|
||||
FRA1;Lille;1643;Lille OSC;lille-osc
|
||||
FRA1;Lorient;1656;Lorient;lorient
|
||||
FRA1;Lyon;1649;Olympique Lyonnais;olympique-lyonnais
|
||||
FRA1;Marseille;1641;Olympique de Marseille;olympique-de-marseille
|
||||
FRA1;Monaco;1653;AS Monaco;as-monaco
|
||||
FRA1;Nice;1661;OGC Nice;ogc-nice
|
||||
FRA1;Paris;6070;Paris FC;paris-fc
|
||||
FRA1;PSG;1644;Paris Saint-Germain;paris-saint-germain
|
||||
FRA1;Rennes;1658;Stade Rennais;stade-rennais
|
||||
FRA1;Strasbourg;1659;Strasbourg;strasbourg
|
||||
FRA1;Toulouse;1681;Toulouse;toulouse
|
||||
FRA1;Troyes;1652;Troyes;troyes
|
||||
FRA2;Annecy;210894;Annecy FC;annecy-fc
|
||||
FRA2;Boulogne;1711;US Boulogne Côte-d'Opale;us-boulogne-cote-dopale
|
||||
FRA2;Clermont;1680;Clermont Foot 63;clermont-foot-63
|
||||
FRA2;Dijon;1686;Dijon;dijon
|
||||
FRA2;Dunkerque;6918;Dunkerque;dunkerque
|
||||
FRA2;Grenoble;1671;Grenoble;grenoble
|
||||
FRA2;Guingamp;1654;Guingamp;guingamp
|
||||
FRA2;Laval;1673;Stade Lavallois;stade-lavallois
|
||||
FRA2;Metz;1651;Metz;metz
|
||||
FRA2;Montpellier;1642;Montpellier;montpellier
|
||||
FRA2;Nancy;1675;Nancy;nancy
|
||||
FRA2;Nantes;1647;FC Nantes;fc-nantes
|
||||
FRA2;Pau;1685;Pau FC;pau-fc
|
||||
FRA2;Red Star;52874;Red Star FC;red-star-fc
|
||||
FRA2;Reims;1682;Stade de Reims;stade-de-reims
|
||||
FRA2;Rodez;6925;Rodez AF;rodez-af
|
||||
FRA2;Saint Etienne;1678;Saint-Étienne;saint-etienne
|
||||
FRA2;Sochaux;1657;Sochaux;sochaux
|
||||
GER1;Augsburg;2600;Augsburg;augsburg
|
||||
GER1;Bayern Munchen;2672;Bayern München;bayern-munchen
|
||||
GER1;Dortmund;2673;Borussia Dortmund;borussia-dortmund
|
||||
GER1;Eintracht Frankfurt;2674;Eintracht Frankfurt;eintracht-frankfurt
|
||||
GER1;Elversberg;2598;SV 07 Elversberg;sv-07-elversberg
|
||||
GER1;Freiburg;2538;Freiburg;freiburg
|
||||
GER1;Hamburger;2676;Hamburger SV;hamburger-sv
|
||||
GER1;Hoffenheim;2569;1899 Hoffenheim;1899-hoffenheim
|
||||
GER1;Koln;2671;1. FC Köln;1-fc-koln
|
||||
GER1;Leipzig;36360;RB Leipzig;rb-leipzig
|
||||
GER1;Leverkusen;2681;Bayer 04 Leverkusen;bayer-04-leverkusen
|
||||
GER1;Mainz;2556;1. FSV Mainz 05;1-fsv-mainz-05
|
||||
GER1;Monchengladbach;2527;Borussia M'gladbach;borussia-mgladbach
|
||||
GER1;Paderborn;2561;SC Paderborn 07;sc-paderborn-07
|
||||
GER1;Schalke;2530;FC Schalke 04;fc-schalke-04
|
||||
GER1;Stuttgart;2677;VfB Stuttgart;vfb-stuttgart
|
||||
GER1;Union Berlin;2547;1. FC Union Berlin;1-fc-union-berlin
|
||||
GER1;Werder Bremen;2534;Werder Bremen;werder-bremen
|
||||
GER2;Arminia Bielefeld;2540;Arminia Bielefeld;arminia-bielefeld
|
||||
GER2;Bochum;2542;VfL Bochum;vfl-bochum
|
||||
GER2;Darmstadt;2576;Darmstadt 98;darmstadt-98
|
||||
GER2;Dynamo Dresden;2595;Dynamo Dresden;dynamo-dresden
|
||||
GER2;Eintracht Braunschweig;2557;Eintracht Braunschweig;eintracht-braunschweig
|
||||
GER2;Energie Cottbus;2532;Energie Cottbus;energie-cottbus
|
||||
GER2;Greuther Furth;2551;SpVgg Greuther Fürth;spvgg-greuther-furth
|
||||
GER2;Hannover;2541;Hannover 96;hannover-96
|
||||
GER2;Heidenheim;5885;1. FC Heidenheim;1-fc-heidenheim
|
||||
GER2;Hertha;2528;Hertha BSC;hertha-bsc
|
||||
GER2;Holstein Kiel;2573;Holstein Kiel;holstein-kiel
|
||||
GER2;Kaiserslautern;2675;1. FC Kaiserslautern;1-fc-kaiserslautern
|
||||
GER2;Karlsruher;2553;Karlsruher SC;karlsruher-sc
|
||||
GER2;Magdeburg;2591;1. FC Magdeburg;1-fc-magdeburg
|
||||
GER2;Nurnberg;2523;1. FC Nürnberg;1-fc-nurnberg
|
||||
GER2;Osnabruck;2581;VfL Osnabrück;vfl-osnabruck
|
||||
GER2;St. Pauli;2526;FC St. Pauli;fc-st-pauli
|
||||
GER2;Wolfsburg;2524;Wolfsburg;wolfsburg
|
||||
GRE1;AEK Athens;3250;AEK Athens;aek-athens
|
||||
GRE1;Aris;3252;Aris Thessaloniki;aris-thessaloniki
|
||||
GRE1;Asteras Tripolis;6342;Asteras Tripolis;asteras-tripolis
|
||||
GRE1;Atromitos;5062;Atromitos Athens;atromitos-athens
|
||||
GRE1;Iraklis;0;---;---
|
||||
GRE1;Kalamata;412056;PS Kalamata;pae-ps-kalamata
|
||||
GRE1;Kifisia;120224;A.E. Kifisia FC;ae-kifisia-fc
|
||||
GRE1;Levadiakos;5063;Levadiakos;levadiakos
|
||||
GRE1;OFI;3241;OFI Crete;ofi-crete
|
||||
GRE1;Olympiakos;3245;Olympiacos;olympiacos
|
||||
GRE1;Panaitolikos;7004;Panetolikos;panetolikos
|
||||
GRE1;Panathinaikos;3248;Panathinaikos;panathinaikos
|
||||
GRE1;PAOK;3251;PAOK;paok
|
||||
GRE1;Volos;267459;Volos NFC;volos-nfc
|
||||
HUN1;Debrecen;1921;Debreceni VSC;debreceni-vsc
|
||||
HUN1;Ferencvaros;1925;Ferencvarosi TC;ferencvarosi-tc
|
||||
HUN1;Gyori ETO;1923;ETO FC Győr;eto-fc-gyor
|
||||
HUN1;Honved;1916;Budapest Honved;budapest-honved
|
||||
HUN1;Kisvarda;25397;Kisvarda Master Good;kisvarda-fc
|
||||
HUN1;MTK;1915;MTK Budapest;mtk-budapest
|
||||
HUN1;Nyiregyhaza;5124;Nyiregyháza Spartacus;nyiregyhaza-spartacus
|
||||
HUN1;Paksi;6059;Paksi;paksi
|
||||
HUN1;Puskas;25596;Puskas Akademia;puskas-akademia
|
||||
HUN1;Ujpest;1924;Újpest;ujpest
|
||||
HUN1;Vasas;1919;Vasas;vasas
|
||||
HUN1;Zalaegerszegi;1922;Zalaegerszegi TE;zalaegerszegi-te
|
||||
ISL1;Akranes;1898;ÍA Akranes;ia-akranes
|
||||
ISL1;Akureyri;1904;KA Akureyri;ka-akureyri
|
||||
ISL1;Breidablik;1901;Breiðablik Kópavogur;breidablik-kopavogur
|
||||
ISL1;Fram;1893;Fram Reykjavík;fram-reykjavik
|
||||
ISL1;Hafnarfjardar;1894;FH Hafnarfjörður;fh-hafnarfjordur
|
||||
ISL1;Keflavik;1900;Keflavík IF;keflavik-if
|
||||
ISL1;KR Reykjavik;1902;KR Reykjavík;kr-reykjavik
|
||||
ISL1;Stjarnan;1912;Stjarnan Garðabær;stjarnan-gardabaer
|
||||
ISL1;Thor Akureyri;1903;Þór Akureyri;thor-akureyri
|
||||
ISL1;Valur;1899;Valur Reykjavík;valur-reykjavik
|
||||
ISL1;Vestmannaeyja;1895;ÍBV;ibv
|
||||
ISL1;Vikingur Reykjavik;1908;Víkingur Reykjavík;vikingur-reykjavik
|
||||
IRL1;Bohemian Dublin;3173;Bohemian;bohemian
|
||||
IRL1;Derry;3170;Derry City;derry-city
|
||||
IRL1;Drogheda;3180;Drogheda United;drogheda-united
|
||||
IRL1;Dundalk;3179;Dundalk;dundalk
|
||||
IRL1;Galway;137382;Galway United;galway-united
|
||||
IRL1;Shamrock Rovers;3177;Shamrock Rovers;shamrock-rovers
|
||||
IRL1;Shelbourne;3174;Shelbourne;shelbourne
|
||||
IRL1;Sligo Rovers;3190;Sligo Rovers;sligo-rovers
|
||||
IRL1;St Patrick's;3169;St. Patrick's Athletic;st-patricks-athletic
|
||||
IRL1;Waterford;3194;Waterford;waterford
|
||||
ITA1;Atalanta;2686;Atalanta;atalanta
|
||||
ITA1;Bologna;2685;Bologna;bologna
|
||||
ITA1;Cagliari;2719;Cagliari;cagliari
|
||||
ITA1;Como;2704;Como;como
|
||||
ITA1;Fiorentina;2693;Fiorentina;fiorentina
|
||||
ITA1;Frosinone;2801;Frosinone;frosinone
|
||||
ITA1;Genoa;2713;Genoa;genoa
|
||||
ITA1;Internazionale;2697;Inter;inter
|
||||
ITA1;Juventus;2687;Juventus;juventus
|
||||
ITA1;Lazio;2699;Lazio;lazio
|
||||
ITA1;Lecce;2689;Lecce;lecce
|
||||
ITA1;Milan;2692;Milan;milan
|
||||
ITA1;Monza;2729;Monza;monza
|
||||
ITA1;Napoli;2714;Napoli;napoli
|
||||
ITA1;Parma;2690;Parma;parma
|
||||
ITA1;Roma;2702;Roma;roma
|
||||
ITA1;Sassuolo;2793;Sassuolo;sassuolo
|
||||
ITA1;Torino;2696;Torino;torino
|
||||
ITA1;Udinese;2695;Udinese;udinese
|
||||
ITA1;Venezia;2688;Venezia;venezia
|
||||
ITA2;Arezzo;2731;Arezzo;arezzo
|
||||
ITA2;Ascoli;2707;Ascoli;ascoli
|
||||
ITA2;Avellino;2730;Avellino;avellino
|
||||
ITA2;Benevento;2759;Benevento;benevento
|
||||
ITA2;Carrarese;2745;Carrarese;carrarese
|
||||
ITA2;Catanzaro;2796;Catanzaro;catanzaro
|
||||
ITA2;Cesena;2742;Cesena;cesena
|
||||
ITA2;Cremonese;2761;Cremonese;cremonese
|
||||
ITA2;Empoli;2705;Empoli;empoli
|
||||
ITA2;Entella;43680;Virtus Entella;virtus-entella
|
||||
ITA2;Juve Stabia;5324;Juve Stabia;juve-stabia
|
||||
ITA2;Mantova;2770;Mantova;mantova
|
||||
ITA2;Modena;2706;Modena;modena
|
||||
ITA2;Padova;2741;Padova;padova
|
||||
ITA2;Palermo;2715;Palermo;palermo
|
||||
ITA2;Pisa;2737;Pisa;pisa
|
||||
ITA2;Sampdoria;2711;Sampdoria;sampdoria
|
||||
ITA2;Sudtirol;2760;Südtirol;sudtirol
|
||||
ITA2;Verona;2701;Hellas Verona;hellas-verona
|
||||
ITA2;Vicenza;2722;L.R. Vicenza;lr-vicenza
|
||||
JPN1;Avispa Fukuoka;3143;Avispa Fukuoka;avispa-fukuoka
|
||||
JPN1;Cerezo Osaka;3141;Cerezo Osaka;cerezo-osaka
|
||||
JPN1;Fagiano Okayama;34034;Fagiano Okayama;fagiano-okayama
|
||||
JPN1;Gamba Osaka;3138;Gamba Osaka;gamba-osaka
|
||||
JPN1;JEF United;3144;JEF United Chiba;jef-united-chiba
|
||||
JPN1;Kashima Antlers;3134;Kashima Antlers;kashima-antlers
|
||||
JPN1;Kashiwa Reysol;3140;Kashiwa Reysol;kashiwa-reysol
|
||||
JPN1;Kawasaki Frontale;5127;Kawasaki Frontale;kawasaki-frontale
|
||||
JPN1;Kyoto Sanga;3149;Kyoto Sanga FC;kyoto-sanga-fc
|
||||
JPN1;Machida Zelvia;44409;Machida Zelvia;machida-zelvia
|
||||
JPN1;Mito Hollyhock;21901;Mito Hollyhock;mito-hollyhock
|
||||
JPN1;Nagoya Grampus;3136;Nagoya Grampus Eight;nagoya-grampus-eight
|
||||
JPN1;Sanfrecce Hiroshima;3135;Sanfrecce Hiroshima;sanfrecce-hiroshima
|
||||
JPN1;Shimizu S Pulse;3133;Shimizu S-Pulse;shimizu-s-pulse
|
||||
JPN1;Tokyo FC;3147;FC Tokyo;fc-tokyo
|
||||
JPN1;Tokyo Verdy;3139;Tokyo Verdy;tokyo-verdy
|
||||
JPN1;Urawa Reds;3145;Urawa Red Diamonds;urawa-red-diamonds
|
||||
JPN1;Varen Nagasaki;38154;V-Varen Nagasaki;v-varen-nagasaki
|
||||
JPN1;Vissel Kobe;3146;Vissel Kobe;vissel-kobe
|
||||
JPN1;Yokohama F. Marinos;3137;Yokohama F. Marinos;yokohama-f-marinos
|
||||
MEX1;Atlante;1943;Atlante FC;atlante-fc
|
||||
MEX1;Atlas;1949;Atlas;atlas
|
||||
MEX1;Atletico San Luis;1950;Atletico de San Luis;atletico-de-san-luis
|
||||
MEX1;Club America;1939;Club America;club-america
|
||||
MEX1;Club Guadalajara;1938;CD Guadalajara;cd-guadalajara
|
||||
MEX1;Club Necaxa;1944;Club Necaxa;club-necaxa
|
||||
MEX1;Cruz Azul;1947;Cruz Azul;cruz-azul
|
||||
MEX1;Juarez;201624;Juarez FC;juarez-fc
|
||||
MEX1;Leon;36534;Club León;club-leon
|
||||
MEX1;Monterrey;1932;Monterrey;monterrey
|
||||
MEX1;Pachuca;1936;Pachuca;pachuca
|
||||
MEX1;Puebla;1941;Puebla;puebla
|
||||
MEX1;Pumas UNAM;1933;Pumas UNAM;pumas-unam
|
||||
MEX1;Queretaro;1951;Queretaro;queretaro
|
||||
MEX1;Santos Laguna;1948;Santos Laguna;santos-laguna
|
||||
MEX1;Tigres UANL;1940;Tigres UANL;tigres-uanl
|
||||
MEX1;Tijuana;36525;Club Tijuana;club-tijuana
|
||||
MEX1;Toluca;1931;Toluca;toluca
|
||||
NED1;Ajax;2953;Ajax;ajax
|
||||
NED1;AZ Alkmaar;2950;AZ Alkmaar;az-alkmaar
|
||||
NED1;Cambuur;2970;SC Cambuur;sc-cambuur
|
||||
NED1;Den Haag;2966;ADO Den Haag;ado-den-haag
|
||||
NED1;Excelsior;2967;Excelsior;excelsior
|
||||
NED1;Feyenoord;2959;Feyenoord;feyenoord
|
||||
NED1;Fortuna Sittard;2957;Fortuna Sittard;fortuna-sittard
|
||||
NED1;Go Ahead Eagles;2979;Go Ahead Eagles;go-ahead-eagles
|
||||
NED1;Groningen;2951;Groningen;groningen
|
||||
NED1;Heerenveen;2964;Heerenveen;heerenveen
|
||||
NED1;NEC Nijmegen;2962;NEC Nijmegen;nec-nijmegen
|
||||
NED1;PSV;2952;PSV Eindhoven;psv-eindhoven
|
||||
NED1;Sparta Rotterdam;2960;Sparta Rotterdam;sparta-rotterdam
|
||||
NED1;Telstar;2972;SC Telstar;sc-telstar
|
||||
NED1;Twente;2955;FC Twente;fc-twente
|
||||
NED1;Utrecht;2948;FC Utrecht;fc-utrecht
|
||||
NED1;Willem II;2961;Willem II Tilburg;willem-ii-tilburg
|
||||
NED1;Zwolle;2971;PEC Zwolle;pec-zwolle
|
||||
NED2;Almere;2990;Almere City FC;almere-city-fc
|
||||
NED2;De Graafschap;2949;De Graafschap;de-graafschap
|
||||
NED2;Den Bosch;2963;FC Den Bosch;fc-den-bosch
|
||||
NED2;Dordrecht;2973;FC Dordrecht;fc-dordrecht
|
||||
NED2;Eindhoven;2994;FC Eindhoven;fc-eindhoven
|
||||
NED2;Emmen;2965;FC Emmen;fc-emmen
|
||||
NED2;Helmond;2974;Helmond Sport;helmond-sport
|
||||
NED2;Heracles;2977;Heracles Almelo;heracles-almelo
|
||||
NED2;Jong Ajax;46160;Jong Ajax;jong-ajax
|
||||
NED2;Jong AZ;46161;Jong AZ Alkmaar;jong-az-alkmaar
|
||||
NED2;Jong PSV;46168;Jong PSV Eindhoven;jong-psv-eindhoven
|
||||
NED2;Jong Utrecht;53067;Jong FC Utrecht;jong-fc-utrecht
|
||||
NED2;MVV Maastricht;2976;MVV Maastricht;mvv-maastricht
|
||||
NED2;NAC Breda;2947;NAC Breda;nac-breda
|
||||
NED2;Oss;2978;TOP Oss;top-oss
|
||||
NED2;RKC Waalwijk;2956;RKC Waalwijk;rkc-waalwijk
|
||||
NED2;Roda;2954;Roda JC Kerkrade;roda-jc-kerkrade
|
||||
NED2;Vitesse;2958;Vitesse;vitesse
|
||||
NED2;Volendam;2968;Volendam;volendam
|
||||
NED2;VVV Venlo;2980;VVV-Venlo;vvv-venlo
|
||||
NOR1;Aalesund;677;Aalesunds FK;aalesunds-fk
|
||||
NOR1;Bodo/Glimt;656;Bodø/Glimt;bodoglimt
|
||||
NOR1;Brann;1159;SK Brann;sk-brann
|
||||
NOR1;Fredrikstad;687;Fredrikstad FK;fredrikstad-fk
|
||||
NOR1;Ham Kam;666;HamKam;hamkam
|
||||
NOR1;KFUM Oslo;786;KFUM Oslo;kfum-oslo
|
||||
NOR1;Kristiansund;957;Kristiansund BK;kristiansund-bk
|
||||
NOR1;Lillestrom;664;Lillestrøm SK;lillestrom-sk
|
||||
NOR1;Molde;661;Molde FK;molde-fk
|
||||
NOR1;Rosenborg;1161;Rosenborg BK;rosenborg-bk
|
||||
NOR1;Sandefjord;676;Sandefjord Fotball;sandefjord-fotball
|
||||
NOR1;Sarpsborg;822;Sarpsborg 08;sarpsborg-08
|
||||
NOR1;Start;667;IK Start;ik-start
|
||||
NOR1;Tromso;660;Tromsø IL;tromso-il
|
||||
NOR1;Valerenga;1165;Valerenga IF;valerenga-if
|
||||
NOR1;Viking;1164;Viking FK;viking-fk
|
||||
PAR1;Cerro Porteno;5991;Cerro Porteño;cerro-porteno
|
||||
PAR1;Libertad Asuncion;5996;Libertad;libertad
|
||||
PAR1;Olimpia Asuncion;5997;Olimpia;olimpia
|
||||
PAR1;Recoleta;292595;Recoleta FC;deportivo-recoleta
|
||||
PER1;AD Tarma;335557;Asociación Deportiva Tarma;asociacion-deportiva-tarma
|
||||
PER1;Alianza Atletico;2307;Alianza Atlético de Sullana;alianza-atletico-de-sullana
|
||||
PER1;Alianza Lima;2311;Alianza Lima;alianza-lima
|
||||
PER1;Atletico Grau;282538;Club Atlético Grau;club-atletico-grau
|
||||
PER1;Cienciano;2301;Cienciano;cienciano
|
||||
PER1;Comerciantes Unidos;213609;Comerciantes Unidos;comerciantes-unidos
|
||||
PER1;Cusco FC;63760;Cusco FC;cusco-fc
|
||||
PER1;Deportivo Garcilaso;458584;Deportivo Garcilaso;deportivo-garcilaso
|
||||
PER1;FC Cajamarca;1082002;FC Cajamarca;fc-cajamarca
|
||||
PER1;Juan Pablo II;511206;ADC Juan Pablo II;adc-juan-pablo-ii
|
||||
PER1;Los Chankas;252254;Los Chankas CYC;los-chankas-cyc
|
||||
PER1;Melgar;2308;Melgar;melgar
|
||||
PER1;Moquegua;492848;CD Moquegua;ucv-de-moquegua
|
||||
PER1;Sport Boys;2312;Sport Boys;sport-boys
|
||||
PER1;Sport Huancayo;33895;Sport Huancayo;sport-huancayo
|
||||
PER1;Sporting Cristal;2302;Club Sporting Cristal;club-sporting-cristal
|
||||
PER1;Universitario de Deportes;2305;Universitario;universitario
|
||||
PER1;UTC Cajamarca;87854;Universidad Técnica de Cajamarca;universidad-tecnica-de-cajamarca
|
||||
POL1;Cracovia Krakow;4901;KS Cracovia;ks-cracovia-krakow
|
||||
POL1;GKS Katowice;3112;GKS Katowice;gks-katowice
|
||||
POL1;Gornik Zabrze;3110;Górnik Zabrze;gornik-zabrze
|
||||
POL1;Jagiellonia Bialystok;7691;Jagiellonia Białystok;jagiellonia-bialystok
|
||||
POL1;Korona Kielce;5065;MKS Korona Kielce;mks-korona-kielce
|
||||
POL1;Lech Poznan;3121;Lech Poznań;lech-poznan
|
||||
POL1;Legia Warszawa;3106;Legia Warszawa;legia-warszawa
|
||||
POL1;Motor Lublin;7915;Motor Lublin;motor-lublin
|
||||
POL1;Piast Gliwice;7918;Piast Gliwice;piast-gliwice
|
||||
POL1;Pogon Szczecin;3117;Pogoń Szczecin;pogon-szczecin
|
||||
POL1;Radomiak Radom;7295;RKS Radomiak Radom;rks-radomiak-radom
|
||||
POL1;Rakow Czestochowa;35268;Raków Częstochowa;rakow-czestochowa
|
||||
POL1;Slask Wroclaw;3108;Śląsk Wrocław;slask-wroclaw
|
||||
POL1;Widzew Lodz;3115;Widzew Łódź;widzew-lodz
|
||||
POL1;Wieczysta Krakow;334956;Wieczysta Kraków;wieczysta-krakow
|
||||
POL1;Wisla Krakow;3111;Wisła Kraków;wisla-krakow
|
||||
POL1;Wisla Plock;3122;Wisła Płock;wisla-plock
|
||||
POL1;Zaglebie Lubin;3113;Zagłębie Lubin;zaglebie-lubin
|
||||
POR1;Academico Viseu;3022;Academico Viseu;academico-viseu
|
||||
POR1;Alverca;190328;FC Alverca;fc-alverca
|
||||
POR1;Arouca;25777;Arouca;arouca
|
||||
POR1;Benfica;3006;SL Benfica;sl-benfica
|
||||
POR1;Casa Pia;36365;Casa Pia;casa-pia
|
||||
POR1;Estoril;4500;Estoril Praia;estoril-praia
|
||||
POR1;Estrela;3035;CF Estrela da Amadora;cf-estrela-da-amadora
|
||||
POR1;Famalicao;49531;FC Famalicao;fc-famalicao
|
||||
POR1;Gil Vicente;3010;Gil Vicente FC;gil-vicente-fc
|
||||
POR1;Maritimo;3007;Marítimo;maritimo
|
||||
POR1;Moreirense;3014;Moreirense;moreirense
|
||||
POR1;Nacional Madeira;3013;CD Nacional;cd-nacional
|
||||
POR1;Porto;3002;FC Porto;fc-porto
|
||||
POR1;Rio Ave;3036;Rio Ave;rio-ave
|
||||
POR1;Santa Clara;3011;CD Santa Clara;cd-santa-clara
|
||||
POR1;Sporting Braga;2999;Sporting Braga;sporting-braga
|
||||
POR1;Sporting CP;3001;Sporting CP;sporting-cp
|
||||
POR1;Vitoria Guimaraes;3009;Vitória de Guimaraes;vitoria-de-guimaraes
|
||||
POR2;Academica Coimbra;3015;Academica Coimbra;academica-coimbra
|
||||
POR2;Amarante;207139;Amarante FC;amarante-fc
|
||||
POR2;Avs;483088;AVS - Futebol SAD;avs-futebol-sad
|
||||
POR2;Benfica II;74465;SL Benfica B;sl-benfica-b
|
||||
POR2;Chaves;3025;GD Chaves;gd-chaves
|
||||
POR2;Farense;2998;SC Farense;sc-farense
|
||||
POR2;Feirense;4501;Feirense;feirense
|
||||
POR2;Felgueiras;3030;Felgueiras;felgueiras
|
||||
POR2;Leixoes;3018;Leixões SC;leixoes-sc
|
||||
POR2;Lusitania de Lourosa;35174;Lusitânia Lourosa;lusitania-lourosa
|
||||
POR2;Penafiel;3017;Penafiel;penafiel
|
||||
POR2;Portimonense;3026;Portimonense;portimonense
|
||||
POR2;Porto II;74469;FC Porto B;fc-porto-b
|
||||
POR2;Sporting CP II;74467;Sporting CP B;sporting-cp-b
|
||||
POR2;Tondela;38396;Tondela;tondela
|
||||
POR2;Torreense;25787;Torreense;torreense
|
||||
POR2;Uniao Leiria;3000;União Leiria;uniao-leiria
|
||||
POR2;Vizela;5136;FC Vizela;fc-vizela
|
||||
ROU1;Arges Pitesti;116221;FC Argeş Piteşti;fc-arges-pitesti
|
||||
ROU1;Botosani;24798;FC Botoșani;fc-botosani
|
||||
ROU1;CFR Cluj;5287;CFR Cluj;cfr-cluj
|
||||
ROU1;Corvinul Hunedoara;148278;FC Corvinul Hunedoara;fc-corvinul-hunedoara
|
||||
ROU1;Dinamo Bucuresti;3292;Dinamo București;dinamo-bucuresti
|
||||
ROU1;Farul Constanta;3294;Farul Constanța;farul-constanta
|
||||
ROU1;Miercurea Ciuc;283972;FK Csíkszereda Miercurea Ciuc;fk-csikszereda-miercurea-ciuc
|
||||
ROU1;Otelul Galati;3291;SC Oțelul Galați;sc-otelul-galati
|
||||
ROU1;Petrolul Ploiesti;25856;FC Petrolul Ploieşti;fc-petrolul-ploiesti
|
||||
ROU1;Rapid Bucuresti;295403;FC Rapid București;fc-rapid-bucuresti
|
||||
ROU1;Sepsi Sfantu Gheorghe;189789;Sepsi OSK;sepsi-osk
|
||||
ROU1;Steaua Bucuresti;3301;FCSB;fcsb
|
||||
ROU1;Universitatea Cluj;7734;FC Universitatea Cluj;fc-universitatea-cluj
|
||||
ROU1;Universitatea Craiova;116223;Universitatea Craiova;universitatea-craiova
|
||||
ROU1;UTA Arad;204657;UTA Arad;uta-arad
|
||||
ROU1;Voluntari;44255;FC Voluntari;fc-voluntari
|
||||
RUS1;Akhmat Grozny;5131;Akhmat Grozny;akhmat-grozny
|
||||
RUS1;Akron;285689;Akron Togliatti;akron-togliatti
|
||||
RUS1;Baltika;7517;Baltika Kaliningrad;baltika-kaliningrad
|
||||
RUS1;CSKA Moskva;2325;CSKA Moscow;cska-moscow
|
||||
RUS1;Dinamo Moskva;2315;Dynamo Moscow;dynamo-moscow
|
||||
RUS1;Dynamo Makhachkala;362016;Dinamo Makhachkala;dinamo-makhachkala
|
||||
RUS1;Fakel;2317;Fakel Voronezh;fakel-voronezh
|
||||
RUS1;Gazovik Orenburg;24118;Orenburg;orenburg
|
||||
RUS1;Krasnodar;34425;FC Krasnodar;fc-krasnodar
|
||||
RUS1;Krylya Sovetov;2322;Krylya Sovetov Samara;krylya-sovetov-samara
|
||||
RUS1;Lokomotiv Moskva;2320;Lokomotiv Moscow;lokomotiv-moscow
|
||||
RUS1;Rodina Moskva;322699;Rodina Moscow;rodina-moscow
|
||||
RUS1;Rostov;2326;FC Rostov;fc-rostov
|
||||
RUS1;Rubin Kazan;2333;Rubin Kazan;rubin-kazan
|
||||
RUS1;Spartak Moskva;2323;Spartak Moscow;spartak-moscow
|
||||
RUS1;Zenit Sankt Peterburg;2321;Zenit St. Petersburg;zenit-st-petersburg
|
||||
KSA1;Abha;168090;Abha;abha
|
||||
KSA1;Al Ahli Jeddah;34469;Al-Ahli Saudi;al-ahli-saudi
|
||||
KSA1;Al Diriyah;853574;Al Diriyah;al-diraiyah
|
||||
KSA1;Al Faisaly;56035;Al Faisaly;al-faisaly
|
||||
KSA1;Al Fateh;56023;Al-Fateh;al-fateh
|
||||
KSA1;Al Feiha;168094;Al-Fayha;al-fayha
|
||||
KSA1;Al Hazm;168086;Al Hazem;al-hazem
|
||||
KSA1;Al Hilal;21895;Al-Hilal Saudi;al-hilal-saudi
|
||||
KSA1;Al Ittifaq;34318;Al-Ettifaq;al-ettifaq
|
||||
KSA1;Al Ittihad;34315;Al-Ittihad;al-ittihad
|
||||
KSA1;Al Khaleej;167228;Al-Khaleej;al-khaleej
|
||||
KSA1;Al Kholood;269199;Al Kholood;al-kholood
|
||||
KSA1;Al Nassr;23400;Al-Nassr;al-nassr
|
||||
KSA1;Al Qadsiah;56027;Al-Qadisiyah;al-qadisiyah
|
||||
KSA1;Al Riyadh;168088;Al Riyadh;al-riyadh
|
||||
KSA1;Al Shabab;34313;Al-Shabab;al-shabab
|
||||
KSA1;Al Taawon;56021;Al-Taawoun;al-taawoun
|
||||
KSA1;Neom;530631;Neom SC;neom-sc
|
||||
SCO1;Aberdeen;2355;Aberdeen;aberdeen
|
||||
SCO1;Celtic;2352;Celtic;celtic
|
||||
SCO1;Dundee;2357;Dundee FC;dundee-fc
|
||||
SCO1;Dundee United;2349;Dundee United;dundee-united
|
||||
SCO1;Falkirk;2363;Falkirk FC;falkirk-fc
|
||||
SCO1;Heart of Midlothian;2353;Heart of Midlothian;heart-of-midlothian
|
||||
SCO1;Hibernian;2354;Hibernian;hibernian
|
||||
SCO1;Kilmarnock;2347;Kilmarnock;kilmarnock
|
||||
SCO1;Motherwell;2346;Motherwell;motherwell
|
||||
SCO1;Rangers Glasgow;2351;Rangers;rangers
|
||||
SCO1;St. Johnstone;2348;St. Johnstone;st-johnstone
|
||||
SCO1;St. Mirren;2359;St. Mirren;st-mirren
|
||||
SRB1;Crvena Zvezda;5149;FK Crvena zvezda;fk-crvena-zvezda
|
||||
SRB1;Cukaricki;5148;FK Čukaricki;fk-cukaricki
|
||||
SRB1;IMT Beograd;308176;FK IMT;fk-imt
|
||||
SRB1;Macva Sabac;56019;FK Macva Šabac;fk-macva-sabac
|
||||
SRB1;Mladost Lucani;7771;FK Mladost Lucani;fk-mladost-lucani
|
||||
SRB1;Novi Pazar;25736;FK Novi Pazar;fk-novi-pazar
|
||||
SRB1;OFK Beograd;5153;OFK Beograd;ofk-beograd
|
||||
SRB1;Partizan Beograd;5152;FK Partizan;fk-partizan
|
||||
SRB1;Radnicki Kragujevac;43981;FK Radnicki 1923;fk-radnicki-1923
|
||||
SRB1;Radnicki Nis;25737;FK Radnicki Niš;fk-radnicki-nis
|
||||
SRB1;Radnik Surdulica;111127;FK Radnik Surdulica;fk-radnik-surdulica
|
||||
SRB1;Vojvodina;5150;FK Vojvodina;fk-vojvodina
|
||||
SRB1;Zeleznicar Pancevo;282203;FK Železničar Pančevo;fk-zeleznicar-pancevo
|
||||
SRB1;Zemun;5157;FK Zemun;fk-zemun
|
||||
SVK1;Dukla Banska Bystrica;4503;Dukla Banska Bystrica;dukla-banska-bystrica
|
||||
SVK1;Dunajska Streda;23833;DAC Dunajska Streda;dac-dunajska-streda
|
||||
SVK1;Komarno;189813;KFC Komárno;kfc-komarno
|
||||
SVK1;Kosice;168476;FC Košice;fc-kosice
|
||||
SVK1;Podbrezova;7887;FK Železiarne Podbrezova;fk-zeleziarne-podbrezova
|
||||
SVK1;Ruzomberok;2397;MFK Ružomberok;mfk-ruzomberok
|
||||
SVK1;Skalica;111061;MFK Skalica;mfk-skalica
|
||||
SVK1;Slovan Bratislava;2404;Slovan Bratislava;slovan-bratislava
|
||||
SVK1;Spartak Trnava;2406;Spartak Trnava;spartak-trnava
|
||||
SVK1;Trencin;2398;AS Trencín;as-trencin
|
||||
SVK1;Zemplin Michalovce;7885;MFK Zemplín Michalovce;mfk-zemplin-michalovce
|
||||
SVK1;Zilina;2402;MŠK Žilina;msk-zilina
|
||||
SVN1;Aluminij;2424;NK Aluminij Kidricevo;nk-aluminij-kidricevo
|
||||
SVN1;Bravo Publikum;261800;AŠK Bravo;ask-bravo
|
||||
SVN1;Brinje Grosuplje;274937;Brinje Grosuplje;brinje-grosuplje
|
||||
SVN1;Celje;2413;NK Celje;nk-celje
|
||||
SVN1;Koper;2417;FC Luka Koper;fc-luka-koper
|
||||
SVN1;Maribor;2420;NK Maribor;nk-maribor
|
||||
SVN1;Mura;213357;NŠ Mura;ns-mura
|
||||
SVN1;Nafta;2430;NK Nafta Lendava 1903;nk-nafta-lendava-1903
|
||||
SVN1;Olimpija Ljubljana;2416;NK Olimpija Ljubljana;nk-olimpija-ljubljana
|
||||
SVN1;Radomlje;37737;Kalcer Radomlje;kalcer-radomlje
|
||||
KOR1;Anyang;32675;FC Anyang;fc-anyang
|
||||
KOR1;Bucheon;92539;Bucheon FC 1995;bucheon-fc-1995
|
||||
KOR1;Daejeon Citizen;7645;Daejeon Hana Citizen;daejeon-hana-citizen
|
||||
KOR1;Gangwon;34220;Gangwon FC;gangwon-fc
|
||||
KOR1;Gwangju;48912;Gwangju FC;gwangju-fc
|
||||
KOR1;Incheon;7648;Incheon United;incheon-united
|
||||
KOR1;Jeju;7649;Jeju United;jeju-united
|
||||
KOR1;Jeonbuk Motors;6908;Jeonbuk Hyundai Motors;jeonbuk-hyundai-motors
|
||||
KOR1;Pohang Steelers;7650;Pohang Steelers;pohang-steelers
|
||||
KOR1;Sangju Sangmu;7647;Sangju Sangmu;sangju-sangmu
|
||||
KOR1;Seoul;7646;FC Seoul;fc-seoul
|
||||
KOR1;Ulsan;7653;Ulsan Hyundai;ulsan-hyundai
|
||||
ESP1;Alaves;2885;Deportivo Alaves;deportivo-alaves
|
||||
ESP1;Athletic Bilbao;2825;Athletic Bilbao;athletic-bilbao
|
||||
ESP1;Atletico Madrid;2836;Atletico Madrid;atletico-madrid
|
||||
ESP1;Barcelona;2817;Barcelona;barcelona
|
||||
ESP1;Betis;2816;Real Betis;real-betis
|
||||
ESP1;Celta Vigo;2821;Celta Vigo;celta-vigo
|
||||
ESP1;Deportivo La Coruna;2832;Deportivo La Coruña;deportivo-la-coruna
|
||||
ESP1;Elche;2846;Elche CF;elche-cf
|
||||
ESP1;Espanyol;2814;Espanyol;espanyol
|
||||
ESP1;Getafe;2859;Getafe;getafe
|
||||
ESP1;Levante;2849;Levante;levante
|
||||
ESP1;Malaga;2830;Malaga;malaga
|
||||
ESP1;Osasuna;2820;Osasuna;osasuna
|
||||
ESP1;Racing Santander;2835;Racing de Santander;racing-de-santander
|
||||
ESP1;Rayo Vallecano;2818;Rayo Vallecano;rayo-vallecano
|
||||
ESP1;Real Madrid;2829;Real Madrid;real-madrid
|
||||
ESP1;Real Sociedad;2824;Real Sociedad;real-sociedad
|
||||
ESP1;Sevilla;2833;Sevilla;sevilla
|
||||
ESP1;Valencia;2828;Valencia;valencia
|
||||
ESP1;Villarreal;2819;Villarreal;villarreal
|
||||
ESP2;Albacete;2848;Albacete Balompie;albacete-balompie
|
||||
ESP2;Almeria;2858;Almería;almeria
|
||||
ESP2;Andorra CF;324871;FC Andorra;fc-andorra
|
||||
ESP2;Burgos;2854;Burgos;burgos
|
||||
ESP2;Cadiz;4488;Cadiz;cadiz
|
||||
ESP2;Castellon;5067;CD Castellón;cd-castellon
|
||||
ESP2;Celta Vigo II;24336;Celta Fortuna;celta-vigo-b
|
||||
ESP2;Ceuta;2869;AD Ceuta;ad-ceuta
|
||||
ESP2;Cordoba;2850;Córdoba;cordoba
|
||||
ESP2;Eibar;2839;Eibar;eibar
|
||||
ESP2;Eldense;47321;CD Eldense;cd-eldense
|
||||
ESP2;Gijon;2852;Sporting Gijón;sporting-gijon
|
||||
ESP2;Girona;24264;Girona;girona
|
||||
ESP2;Granada;33779;Granada;granada
|
||||
ESP2;Las Palmas;6577;Las Palmas;las-palmas
|
||||
ESP2;Leganes;2845;Leganes;leganes
|
||||
ESP2;Mallorca;2826;RCD Mallorca;rcd-mallorca
|
||||
ESP2;Oviedo;2851;Real Oviedo;real-oviedo
|
||||
ESP2;Real Sociedad II;24360;Real Sociedad B;real-sociedad-b
|
||||
ESP2;Sabadell;24335;CE Sabadell;ce-sabadell
|
||||
ESP2;Tenerife;2822;Tenerife;tenerife
|
||||
ESP2;Valladolid;2831;Real Valladolid;real-valladolid
|
||||
SWE1;AIK;1764;AIK;aik
|
||||
SWE1;Brommapojkarna;1787;IF Brommapojkarna;if-brommapojkarna
|
||||
SWE1;Degerfors;1807;Degerfors IF;degerfors-if
|
||||
SWE1;Djurgarden;1759;Djurgardens IF;djurgardens-if
|
||||
SWE1;Elfsborg;1762;IF Elfsborg;if-elfsborg
|
||||
SWE1;GAIS;1786;GAIS Göteborg;gais-goteborg
|
||||
SWE1;Goteborg;1761;IFK Göteborg;ifk-goteborg
|
||||
SWE1;Hacken;1760;BK Hacken;bk-hacken
|
||||
SWE1;Halmstad;1767;Halmstads BK;halmstads-bk
|
||||
SWE1;Hammarby;1758;Hammarby IF;hammarby-if
|
||||
SWE1;Kalmar;1891;Kalmar FF;kalmar-ff
|
||||
SWE1;Malmo;1892;Malmö FF;malmo-ff
|
||||
SWE1;Mjallby;1783;Mjallby AIF;mjallby-aif
|
||||
SWE1;Orgryte;1766;Örgryte IS;orgryte-is
|
||||
SWE1;Sirius;1793;IK Sirius;ik-sirius
|
||||
SWE1;Vasteras;1775;Västerås SK;vasteras-sk
|
||||
SUI1;Basel;2501;FC Basel;fc-basel
|
||||
SUI1;Grasshopper;2449;Grasshopper Club Zürich;grasshopper-club-zurich
|
||||
SUI1;Lausanne;2446;FC Lausanne-Sport;fc-lausanne-sport
|
||||
SUI1;Lugano;2443;FC Lugano;fc-lugano
|
||||
SUI1;Luzern;2453;FC Luzern;fc-luzern
|
||||
SUI1;Servette;2448;Servette;servette
|
||||
SUI1;Sion;2452;FC Sion;fc-sion
|
||||
SUI1;St. Gallen;2442;FC St. Gallen 1879;fc-st-gallen-1879
|
||||
SUI1;Thun;2454;FC Thun;fc-thun
|
||||
SUI1;Vaduz;2463;FC Vaduz;fc-vaduz
|
||||
SUI1;Young Boys;2445;Young Boys;young-boys
|
||||
SUI1;Zurich;2450;FC Zürich;fc-zurich
|
||||
TUR1;Alanyaspor;6362;Alanyaspor;alanyaspor
|
||||
TUR1;Amedspor;207011;Amed Sportif Faaliyetler;amed-sportif-faaliyetler
|
||||
TUR1;Basaksehir;3086;Başakşehir F.K.;medipol-basaksehir
|
||||
TUR1;Besiktas;3050;Beşiktaş;besiktas
|
||||
TUR1;Caykur Rizespor;3064;Çaykur Rizespor;caykur-rizespor
|
||||
TUR1;Corum;77629;Çorum FK;corum-fk
|
||||
TUR1;Erzurumspor;55603;BB Erzurumspor;bb-erzurumspor
|
||||
TUR1;Eyupspor;7040;Eyüpspor;eyupspor
|
||||
TUR1;Fenerbahce;3052;Fenerbahce;fenerbahce
|
||||
TUR1;Galatasaray;3061;Galatasaray;galatasaray
|
||||
TUR1;Gaziantep BB;5138;Gaziantep FK;gaziantep-fk
|
||||
TUR1;Genclerbirligi;7802;Genclerbirliği;genclerbirligi
|
||||
TUR1;Goztepe;3054;Göztepe;goztepe-sk
|
||||
TUR1;Kasimpasa;6063;Kasımpaşa;kasimpasa
|
||||
TUR1;Kocaelispor;3065;Kocaelispor;kocaelispor
|
||||
TUR1;Konyaspor;3085;Konyaspor;konyaspor
|
||||
TUR1;Samsunspor;3053;Samsunspor;samsunspor
|
||||
TUR1;Trabzonspor;3051;Trabzonspor;trabzonspor
|
||||
UKR1;Bukovyna;43336;Bukovyna Chernivtsi;bukovyna-chernivtsi
|
||||
UKR1;Chornomorets;3310;Chornomorets Odesa;chornomorets-odesa
|
||||
UKR1;Dynamo Kyiv;3305;Dynamo Kyiv;dynamo-kyiv
|
||||
UKR1;Epitsentr;323552;FC Epicentr Dunaivtsi;fc-epicentr-dunaivtsi
|
||||
UKR1;FC Kharkiv;266889;FC Kharkiv;metalist-1925
|
||||
UKR1;Hirnyk Kryvbas;294048;FC Kryvbas Kryvyi Rih;fc-kryvbas-kryvyi-rih
|
||||
UKR1;Karpaty;3316;Karpaty Lviv;karpaty-lviv
|
||||
UKR1;Kolos Kovalivka;200776;Kolos Kovalivka;kolos-kovalivka
|
||||
UKR1;Kudrivka;316055;Kudrivka;kudrivka-irpin
|
||||
UKR1;Livyi Bereh;388209;FC Livyi Bereh Kyiv;fc-livyi-bereh-kyiv
|
||||
UKR1;LNZ Cherkasy;284427;LNZ Cherkasy;lnz-cherkasy
|
||||
UKR1;Obolon Kyiv;138564;Obolon Kyiv;obolon-kyiv
|
||||
UKR1;Polissya;258536;Polissya Zhytomyr;polissya-zhytomyr
|
||||
UKR1;Shakhtar Donetsk;3313;Shakhtar Donetsk;shakhtar-donetsk
|
||||
UKR1;Veres Rivne;200773;Veres Rivne;veres-rivne
|
||||
UKR1;Zorya;5987;Zorya Luhansk;zorya-luhansk
|
||||
URU1;Boston River;174970;Boston River;boston-river
|
||||
URU1;Juventud de Las Piedras;3224;Juventud de Las Piedras;juventud-de-las-piedras
|
||||
URU1;Montevideo City Torque;174972;Montevideo City Torque;montevideo-city-torque
|
||||
URU1;Nacional Montevideo;3230;Nacional;club-nacional-de-football
|
||||
URU1;Penarol;3227;Peñarol;penarol
|
||||
USA1;Atlanta United;243211;Atlanta United FC;atlanta-united
|
||||
USA1;Austin FC;377973;Austin FC;austin-fc
|
||||
USA1;Charlotte FC;404108;Charlotte FC;charlotte-fc
|
||||
USA1;Chicago Fire;2505;Chicago Fire;chicago-fire
|
||||
USA1;Cincinnati FC;215167;FC Cincinnati;fc-cincinnati
|
||||
USA1;Colorado Rapids;2510;Colorado Rapids;colorado-rapids
|
||||
USA1;Columbus Crew;2504;Columbus Crew;columbus-crew
|
||||
USA1;Dallas FC;2512;FC Dallas;fc-dallas
|
||||
USA1;DC United;2502;DC United;dc-united
|
||||
USA1;Houston Dynamo;2508;Houston Dynamo;houston-dynamo
|
||||
USA1;Inter Miami;337602;Inter Miami CF;inter-miami-cf
|
||||
USA1;Los Angeles FC;274650;Los Angeles FC;los-angeles-fc
|
||||
USA1;Los Angeles Galaxy;2513;LA Galaxy;la-galaxy
|
||||
USA1;Minnesota United;41618;Minnesota United FC;minnesota-united
|
||||
USA1;Montreal Impact;22006;Impact Montreal;impact-montreal
|
||||
USA1;Nashville SC;337612;Nashville SC;nashville-sc
|
||||
USA1;New England Revolution;2511;New England Revolution;new-england-revolution
|
||||
USA1;New York City;187643;New York City FC;new-york-city-fc
|
||||
USA1;New York RB;2506;New York Red Bulls;new-york-red-bulls
|
||||
USA1;Orlando City;52237;Orlando City SC;orlando-city
|
||||
USA1;Philadelphia Union;39833;Philadelphia Union;philadelphia-union
|
||||
USA1;Portland Timbers;22007;Portland Timbers;portland-timbers
|
||||
USA1;Real Salt Lake;5133;Real Salt Lake;real-salt-lake
|
||||
USA1;San Diego;1043961;San Diego FC;san-diego-fc
|
||||
USA1;San Jose Earthquakes;21825;San Jose Earthquakes;san-jose-earthquakes
|
||||
USA1;Seattle Sounders;22009;Seattle Sounders;seattle-sounders
|
||||
USA1;Sporting Kansas City;2509;Sporting Kansas City;sporting-kansas-city
|
||||
USA1;St. Louis City;407803;Saint Louis City SC;saint-louis-city-sc
|
||||
USA1;Toronto FC;7080;Toronto FC;toronto-fc
|
||||
USA1;Vancouver Whitecaps;22010;Vancouver Whitecaps;vancouver-whitecaps
|
||||
VEN1;Academia Puerto Cabello;230725;Academia Puerto Cabello;academia-puerto-cabello
|
||||
VEN1;Carabobo;6229;Carabobo FC;carabobo
|
||||
VEN1;Caracas FC;6230;Caracas F.C.;caracas-fc
|
||||
VEN1;Deportivo La Guaira;36437;Deportivo La Guaira;deportivo-la-guaira
|
||||
VEN1;Universidad Central;249952;Universidad Central;ucv-fc
|
||||
|
Binary file not shown.
Whitespace-only changes.
@@ -1,86 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Sofascore;
|
||||
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\CurlSofa;
|
||||
use App\Console\Commands\Grapper\Sofascore\Helper\Sleeper;
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Models\SofaScoreRosa;
|
||||
use App\Models\SofaScoreRosaTournament;
|
||||
use App\Models\SofaScoreTournament;
|
||||
use App\Utilities\Notice;
|
||||
|
||||
class TournamentTeams
|
||||
{
|
||||
public static function get()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
|
||||
$tournaments_counter = 0;
|
||||
|
||||
$teams_counter = 0;
|
||||
|
||||
$tournaments = SofaScoreTournament::with('sofascore_category')->where('enabled', 1)->get();
|
||||
|
||||
SofaScoreRosa::query()->update(['grapped' => 0]);
|
||||
SofaScoreRosaTournament::query()->update(['grapped' => 0]);
|
||||
|
||||
foreach ($tournaments as $tournament) {
|
||||
|
||||
$tournaments_counter++;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note("$tournaments_counter Tournament: $tournament->name", 'bb');
|
||||
}
|
||||
|
||||
$url = Nuh::$options['base_url'] . "api/v1/unique-tournament/$tournament->tournament_id/seasons";
|
||||
|
||||
Sleeper::rand(1);
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
$season_id = $data['seasons'][0]['id'];
|
||||
|
||||
$url = Nuh::$options['base_url'] . "api/v1/unique-tournament/$tournament->tournament_id/season/$season_id/standings/total";
|
||||
|
||||
Sleeper::rand();
|
||||
|
||||
$data = CurlSofa::load($url);
|
||||
|
||||
if (isset($data['standings'])) {
|
||||
foreach ($data['standings'][0]['rows'] as $row) {
|
||||
$teams_counter++;
|
||||
|
||||
$ss_team_id = $row['team']['id'];
|
||||
$name = $row['team']['name'];
|
||||
$country_id = $tournament->sofascore_category->country_id;
|
||||
|
||||
SofaScoreRosa::updateOrCreate([
|
||||
'sport_id' => $tournament->sport_id,
|
||||
'ss_team_id' => (int) $ss_team_id,
|
||||
], [
|
||||
'country_id' => (int) $country_id,
|
||||
'ss_team_name' => $name,
|
||||
'grapped' => 1,
|
||||
'disabled' => 0,
|
||||
]);
|
||||
SofaScoreRosaTournament::updateOrCreate([
|
||||
'ss_tournament_id' => (int) $tournament->tournament_id,
|
||||
'ss_team_id' => (int) $ss_team_id,
|
||||
], [
|
||||
'grapped' => 1,
|
||||
'disabled' => 0,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SofaScoreRosa::where('grapped', 0)->update(['disabled' => 1]);
|
||||
SofaScoreRosaTournament::where('grapped', 0)->update(['disabled' => 1]);
|
||||
|
||||
if ($debug) {
|
||||
Notice::note("summe tournaments: $tournaments_counter", 'p');
|
||||
Notice::note("summe teams: $teams_counter", 'p');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Traits\Sofascore\GrappingSofascore;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class GrapperDaily extends Command
|
||||
{
|
||||
use GrappingSofascore;
|
||||
|
||||
protected $signature = 'grp:daily {--d} {--r} {--f}';
|
||||
|
||||
protected $description = 'grap sofascore daily';
|
||||
|
||||
public function handleGrapper(): void
|
||||
{
|
||||
$this->runGrapper();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user