9c2921c7fa
- added ability to specify default scrapers in environment variables
116 lines
3.1 KiB
PHP
116 lines
3.1 KiB
PHP
<?php
|
|
|
|
const DEFAULT_SCRAPERS = [
|
|
"web" => config::SCRAPER_WEB,
|
|
"images" => config::SCRAPER_IMAGES,
|
|
"news" => config::SCRAPER_NEWS,
|
|
"videos" => config::SCRAPER_VIDEOS,
|
|
"music" => config::SCRAPER_MUSIC,
|
|
];
|
|
|
|
const AVAILABLE_SCRAPERS = [
|
|
"web" => [
|
|
"ddg" => "DuckDuckGo",
|
|
//"yahoo" => "Yahoo!",
|
|
"brave" => "Brave",
|
|
"yandex" => "Yandex",
|
|
"google" => "Google",
|
|
"google_api" => "Google API",
|
|
"google_cse" => "Google CSE",
|
|
"yahoo_japan" => "Yahoo! JAPAN",
|
|
"startpage" => "Startpage",
|
|
"qwant" => "Qwant",
|
|
"ghostery" => "Ghostery",
|
|
"yep" => "Yep",
|
|
"mwmbl" => "Mwmbl",
|
|
"mojeek" => "Mojeek",
|
|
"baidu" => "Baidu",
|
|
"coccoc" => "Cốc Cốc",
|
|
"solofield" => "Solofield",
|
|
"marginalia" => "Marginalia",
|
|
"wiby" => "wiby"
|
|
],
|
|
"images" => [
|
|
"ddg" => "DuckDuckGo",
|
|
"yandex" => "Yandex",
|
|
"brave" => "Brave",
|
|
"google" => "Google",
|
|
"google_api" => "Google API",
|
|
"google_cse" => "Google CSE",
|
|
"yahoo_japan" => "Yahoo! JAPAN",
|
|
"startpage" => "Startpage",
|
|
"qwant" => "Qwant",
|
|
"baidu" => "Baidu",
|
|
"solofield" => "Solofield",
|
|
"pinterest" => "Pinterest",
|
|
"cara" => "Cara",
|
|
"flickr" => "Flickr",
|
|
"pexels" => "Pexels",
|
|
"pixabay" => "Pixabay",
|
|
"unsplash" => "Unsplash",
|
|
"fivehpx" => "500px",
|
|
"vsco" => "VSCO",
|
|
"imgur" => "Imgur",
|
|
"ftm" => "FindThatMeme"
|
|
],
|
|
|
|
"videos" => [
|
|
"yt" => "YouTube",
|
|
//"archiveorg" => "Archive.org",
|
|
"vimeo" => "Vimeo",
|
|
//"odysee" => "Odysee",
|
|
"sepiasearch" => "Sepia Search",
|
|
//"fb" => "Facebook videos",
|
|
"ddg" => "DuckDuckGo",
|
|
"brave" => "Brave",
|
|
"yandex" => "Yandex",
|
|
"google" => "Google",
|
|
"yahoo_japan" => "Yahoo! JAPAN",
|
|
"startpage" => "Startpage",
|
|
"qwant" => "Qwant",
|
|
"baidu" => "Baidu",
|
|
"coccoc" => "Cốc Cốc",
|
|
"solofield" => "Solofield"
|
|
],
|
|
|
|
"news" => [
|
|
"ddg" => "DuckDuckGo",
|
|
"brave" => "Brave",
|
|
"google" => "Google",
|
|
"yahoo_japan" => "Yahoo! JAPAN",
|
|
"startpage" => "Startpage",
|
|
"qwant" => "Qwant",
|
|
"mojeek" => "Mojeek",
|
|
"baidu" => "Baidu"
|
|
],
|
|
|
|
"music" => [
|
|
"sc" => "SoundCloud",
|
|
"swisscows" => "Swisscows (SoundCloud)",
|
|
//"spotify" => "Spotify"
|
|
],
|
|
|
|
"booru" => [
|
|
"safebooru" => "Safebooru",
|
|
"konachan" => "Konachan",
|
|
"tbib" => "The Big Imageboard",
|
|
"gelbooru" => "Gelbooru",
|
|
"yandere" => "Yande.re",
|
|
"sankakucomplex" => "SankakuComplex",
|
|
"soybooru" => "SoyBooru",
|
|
],
|
|
];
|
|
|
|
function get_scraper(string $page, string $selected): string
|
|
{
|
|
$available = AVAILABLE_SCRAPERS[$page];
|
|
if (!$available) {
|
|
return "__NONEXISTENT__";
|
|
}
|
|
if ($available[$selected]) {
|
|
return $selected;
|
|
}
|
|
$default = DEFAULT_SCRAPERS[$page];
|
|
return $available[$default] ? $default : array_key_first($available);
|
|
}
|