From db0e66c8462acccdfb7cfc27c6721d4765cd64c7 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 10 May 2023 12:47:36 +0300 Subject: [PATCH] refactor to mime-based content index #1 --- README.md | 17 +- config/app.php.txt | 88 +------- config/sphinx.conf.txt | 53 ++--- crontab/cleaner.php | 73 +----- crontab/crawler.php | 492 +++++++++++------------------------------ database/yggo.mwb | Bin 21431 -> 17422 bytes library/filter.php | 18 -- library/mysql.php | 488 +++++++--------------------------------- library/sphinxql.php | 48 +--- media/db-prototype.png | Bin 137666 -> 150680 bytes public/api.php | 42 +--- public/index.php | 1 - public/search.php | 251 ++++----------------- 13 files changed, 304 insertions(+), 1267 deletions(-) diff --git a/README.md b/README.md index e6f03bc..6448927 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Could be enabled or disabled by `API_SEARCH_ENABLED` option ``` GET action=search - required GET query={string} - optional, search request, empty if not provided -GET type={string} - optional, search type, image|default or empty +GET type={string} - optional, filter mime type of available or empty GET page={int} - optional, search results page, 1 if not provided GET mode=SphinxQL - optional, enable extended SphinxQL syntax ``` @@ -141,7 +141,7 @@ GET m=SphinxQL ##### Basic features * [x] Web pages full text ranking search -* [x] Images search with safe proxy preview support +* [x] MIME filtering search with safe proxy images preview * [x] Extended syntax support * [x] Flexible settings compatible with IPv4/IPv6 networks @@ -159,18 +159,14 @@ GET m=SphinxQL * [ ] Index API + [x] Manifest + [x] Search - + [x] Pages - + [x] Images + [x] Hosts - + [ ] Pages - + [ ] Images + + [ ] MIME list * [ ] Context advertising API ##### Crawler * [x] Auto crawl links by regular expression rules + [x] Pages - + [x] Images + [x] Manifests * [x] Robots.txt / robots meta tags support (#2) * [x] Specific rules configuration for every host @@ -181,8 +177,6 @@ GET m=SphinxQL * [x] Ban non-condition links to prevent extra requests * [x] Debug log * [x] History snaps - + [x] Pages - + [x] Images * [ ] Indexing new sites homepage in higher priority * [ ] Redirect codes extended processing * [ ] Palette image index / filter @@ -191,17 +185,12 @@ GET m=SphinxQL ##### Cleaner * [x] Deprecated DB items auto deletion / host settings update + [x] Pages - + [x] Images + [x] Manifests + [x] Logs + [x] Crawler + [x] Cleaner * [x] Deprecated history snaps removing - + [x] Pages - + [x] Images * [x] Banned resources reset by timeout - + [x] Pages - + [x] Images * [x] Debug log ##### Other diff --git a/config/app.php.txt b/config/app.php.txt index 8469469..724a8fe 100644 --- a/config/app.php.txt +++ b/config/app.php.txt @@ -47,7 +47,7 @@ error_reporting(E_ALL); * Project domain, without slash on postfix * */ -define('WEBSITE_DOMAIN', (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https' : 'http') . '://' . (!empty($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '')); +define('WEBSITE_DOMAIN', ''); /* * Page search results before show the read more link @@ -55,18 +55,6 @@ define('WEBSITE_DOMAIN', (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' */ define('WEBSITE_PAGINATION_SEARCH_PAGE_RESULTS_LIMIT', 100); -/* - * Image search results before show the read more link - * - */ -define('WEBSITE_PAGINATION_SEARCH_IMAGE_RESULTS_LIMIT', 10); - -/* - * Quantity of related pages for each image in the search results - * - */ -define('WEBSITE_SEARCH_IMAGE_RELATED_PAGE_RESULTS_LIMIT', 5); - /* * Save ident icons to the static webp cache (placed in storage/cache) to prevent CPU overload * @@ -76,7 +64,7 @@ define('WEBSITE_SEARCH_IMAGE_RELATED_PAGE_RESULTS_LIMIT', 5); define('WEBSITE_IDENTICON_IMAGE_CACHE', true); // Database -define('DB_HOST', 'localhost'); +define('DB_HOST', '127.0.0.1'); define('DB_PORT', 3306); define('DB_NAME', ''); define('DB_USERNAME', ''); @@ -144,20 +132,6 @@ define('CRAWL_STOP_DISK_QUOTA_MB_LEFT', 500); */ define('CRAWL_PAGE_LIMIT', 20); -/* - * Images (URI) processing limit in the crawler.php queue - * - * This option related to CRAWL_IMAGE_SECONDS_OFFSET value - * and the crontab task frequency (https://github.com/YGGverse/YGGo#crontab) - * - * Usually up to 20 pages per minute, - * to prevent websites overload by sending GET crawling requests - * - * Set 0 to disable - * - */ -define('CRAWL_IMAGE_LIMIT', 10); - /* * Manifest (URI) processing limit in the crawler.php queue * @@ -194,28 +168,7 @@ define('CRAWL_PAGE_SECONDS_OFFSET', 60*60*24*30*12); * comma separated * */ -define('CRAWL_PAGE_MIME', 'text/html'); - -/* - * Index images match MIME types - * - * comma separated - * - */ -define('CRAWL_IMAGE_MIME', 'image/webp,image/png,image/gif,image/jpeg,image/ico,image/svg+xml'); - -/* - * Renew image index by timing offset provided - * - * This option works with CRAWL_IMAGE_LIMIT step queue - * - * Pay attention, that CRAWL_IMAGE_LIMIT + CRAWL_IMAGE_SECONDS_OFFSET pair - * must have enough value to crawl all images collected in the DB index - * - * or the crawler can stuck in queue - * - */ -define('CRAWL_IMAGE_SECONDS_OFFSET', 60*60*24*30*12); +define('CRAWL_PAGE_MIME', 'text/html,application/xhtml+xml,text/plain,image/webp,image/png,image/gif,image/jpeg,image/ico,image/svg+xml'); /* * Renew manifests index by timing offset provided @@ -234,7 +187,7 @@ define('CRAWL_MANIFEST_SECONDS_OFFSET', 60*60*24*30); * Only URL addresses match this rule will be auto-crawled * */ -define('CRAWL_URL_REGEXP', '/^.*$/ui'); // ipv6 only '/^http:\/\/\[[\w:]+\].*$/ui' +define('CRAWL_URL_REGEXP', '/^http:\/\/\[[\w:]+\].*$/ui'); /* * Pages limit per new host by default @@ -244,7 +197,7 @@ define('CRAWL_URL_REGEXP', '/^.*$/ui'); // ipv6 only '/^http:\/\/\[[\w:]+\].*$/u * Custom rule for specified host could be provided in the DB `host`.`crawlPageLimit` field * */ -define('CRAWL_HOST_DEFAULT_PAGES_LIMIT', 1000); +define('CRAWL_HOST_DEFAULT_PAGES_LIMIT', 100000); /* * Set default auto-crawl status for new host added @@ -264,7 +217,6 @@ define('CRAWL_HOST_DEFAULT_STATUS', true); * Custom rule for specified host could be provided in the DB `host`.`crawlMetaOnly` field * * This option able to change search results relevance - * This option enables image data caching in base64 * */ define('CRAWL_HOST_DEFAULT_META_ONLY', false); @@ -279,16 +231,6 @@ define('CRAWL_HOST_DEFAULT_META_ONLY', false); */ define('CRAWL_HOST_DEFAULT_NSFW', false); -/* - * Not suitable/safe for work status for new host by default - * - * Could be filtered in crawl conditions or search results - * - * Custom rule for specified host could be provided in the DB `host`.`nsfw` field - * - */ -define('CRAWL_HOST_DEFAULT_NSFW', false); - /* * Default robots.txt rules on remote file not exists * The crawler able to overwrite these rules @@ -324,7 +266,7 @@ define('CRAWL_MANIFEST', true); * Manifest API version compatibility * */ -define('CRAWL_MANIFEST_API_VERSION', 0.7); +define('CRAWL_MANIFEST_API_VERSION', 0.8); /* * Set default auto-crawl status for new manifest added @@ -389,20 +331,6 @@ define('CLEAN_PAGE_BAN_SECONDS_OFFSET', 60*60*24*30); */ define('CLEAN_PAGE_DESCRIPTION_OFFSET', 60*60*24*30*12*10); -/* - * Remove image ban after following time - * - * This option used in crawler and search page - * to prevent extra http requests to unavailable or not condition resources - * - */ -define('CLEAN_IMAGE_BAN_SECONDS_OFFSET', 60*60*24*30); - -/* - * Remove image description history after following time - * - */ -define('CLEAN_IMAGE_DESCRIPTION_OFFSET', 60*60*24*30*12*10); // API settings @@ -445,14 +373,12 @@ define('API_HOSTS_FIELDS', `host`.`name`, `host`.`port`, `host`.`crawlPageLimit`, - `host`.`crawlImageLimit`, `host`.`robots`, `host`.`robotsPostfix`, `host`.`nsfw`, `host`.`timeAdded`, `host`.`timeUpdated`, - (SELECT COUNT(*) FROM `hostPage` WHERE `hostPage`.`hostId` = `host`.`hostId`) AS `hostPagesTotal`, - (SELECT COUNT(*) FROM `hostImage` WHERE `hostImage`.`hostId` = `host`.`hostId`) AS `hostImagesTotal`'); // string: *|field names comma separated + (SELECT COUNT(*) FROM `hostPage` WHERE `hostPage`.`hostId` = `host`.`hostId`) AS `hostPagesTotal`'); /* * Manifest API diff --git a/config/sphinx.conf.txt b/config/sphinx.conf.txt index 1e06c9d..06ef702 100644 --- a/config/sphinx.conf.txt +++ b/config/sphinx.conf.txt @@ -12,36 +12,24 @@ source common source hostPage : common { sql_query = \ - SELECT hostPage.hostPageId, \ - hostPage.rank, \ - hostPage.uri, \ - host.name, \ - (SELECT CONCAT_WS(' ', hostPageDescription.metaTitle, \ - hostPageDescription.metaDescription, \ - hostPageDescription.metaKeywords) \ - FROM hostPageDescription \ - WHERE hostPageDescription.hostPageId = hostPage.hostPageId \ - ORDER BY hostPageDescription.timeUpdated DESC, hostPageDescription.timeAdded DESC \ - LIMIT 1) AS pageDescription \ - FROM hostPage \ - JOIN host ON (host.hostId = hostPage.hostId) \ - WHERE host.status = '1' AND hostPage.httpCode = 200 AND hostPage.timeBanned IS NULL + SELECT `hostPage`.`hostPageId`, \ + `hostPage`.`uri`, \ + `host`.`name`, \ + REGEXP_REPLACE(`hostPage`.`mime`, '^[A-z-]+/([A-z-]+).*', '$1') AS `mime`, \ + (SELECT COUNT(*) FROM `hostPageToHostPage` \ + WHERE `hostPageToHostPage`.`hostPageIdTarget` = `hostPage`.`hostPageId` \ + AND `hostPageToHostPage`.`hostPageIdSource` <> `hostPage`.`hostPageId`) AS `rank`, \ + (SELECT GROUP_CONCAT(CONCAT_WS(' ', `hostPageDescription`.`title`, \ + `hostPageDescription`.`description`, \ + `hostPageDescription`.`keywords`)) \ + FROM `hostPageDescription` \ + WHERE `hostPageDescription`.`hostPageId` = `hostPage`.`hostPageId`) AS `pageDescription` \ + FROM `hostPage` \ + JOIN `host` ON (`host`.`hostId` = `hostPage`.`hostId`) \ + WHERE `host`.`status` = '1' AND `hostPage`.`httpCode` = 200 AND `hostPage`.`timeBanned` IS NULL - sql_attr_uint = rank -} - -source hostImage : common -{ - sql_query = \ - SELECT hostImage.hostImageId, hostImage.rank, hostImage.uri, host.name, \ - (SELECT GROUP_CONCAT(CONCAT_WS(' ', hostImageDescription.alt, hostImageDescription.title)) \ - FROM hostImageDescription \ - WHERE hostImageDescription.hostImageId = hostImage.hostImageId) AS imageDescription \ - FROM hostImage \ - JOIN host ON (host.hostId = hostImage.hostId) \ - WHERE host.status = '1' AND hostImage.httpCode = 200 AND hostImage.timeBanned IS NULL \ - - sql_attr_uint = rank + sql_attr_uint = rank + sql_attr_string = mime } index hostPage @@ -49,11 +37,4 @@ index hostPage source = hostPage morphology = stem_enru, stem_cz, stem_ar path = /var/lib/sphinxsearch/data/hostPage -} - -index hostImage -{ - source = hostImage - morphology = stem_enru, stem_cz, stem_ar - path = /var/lib/sphinxsearch/data/hostImage } \ No newline at end of file diff --git a/crontab/cleaner.php b/crontab/cleaner.php index 8e30731..21a48e4 100644 --- a/crontab/cleaner.php +++ b/crontab/cleaner.php @@ -31,11 +31,8 @@ $manifestsTotal = $db->getTotalManifests(); $hostsUpdated = 0; $hostPagesDeleted = 0; $hostPageDescriptionsDeleted = 0; -$hostImagesDeleted = 0; -$hostImageDescriptionsDeleted = 0; $manifestsDeleted = 0; $hostPagesBansRemoved = 0; -$hostImagesBansRemoved = 0; $logsCleanerDeleted = 0; $logsCrawlerDeleted = 0; @@ -56,7 +53,7 @@ try { // Update curl stats $httpRequestsTotal++; - $httpRequestsSizeTotal += $curl->getSizeRequest(); + $httpRequestsSizeTotal += $curl->getSizeRequest(); $httpDownloadSizeTotal += $curl->getSizeDownload(); $httpRequestsTimeTotal += $curl->getTotalTime(); @@ -69,22 +66,6 @@ try { // Update host data $hostsUpdated += $db->updateHostRobots($host->hostId, $hostRobots, time()); - // Apply host images limits - $totalHostImages = $db->getTotalHostImages($host->hostId); - - if ($totalHostImages > $host->crawlImageLimit) { - - foreach ((array) $db->getHostImagesByLimit($host->hostId, $totalHostImages - $host->crawlImageLimit) as $hostImage) { - - // Delete foreign key relations - $db->deleteHostImageDescription($hostImage->hostImageId); - $db->deleteHostImageToHostPage($hostImage->hostImageId); - - // Delete host image - $hostImagesDeleted += $db->deleteHostImage($hostImage->hostImageId); - } - } - // Apply host pages limits $totalHostPages = $db->getTotalHostPages($host->hostId); @@ -92,56 +73,32 @@ try { foreach ((array) $db->getHostPagesByLimit($host->hostId, $totalHostPages - $host->crawlPageLimit) as $hostPage) { - // Delete foreign key relations - $db->deleteHostPageToHostImage($hostPage->hostPageId); - // Delete host page $db->deleteHostPageDescriptions($hostPage->hostPageId); + $db->deleteHostPageToHostPage($hostPage->hostPageId); - $hostPagesDeleted += $db->deleteHostPage($hostPage->hostPageId); + if ($hostPage->uri != '/') { + $hostPagesDeleted += $db->deleteHostPage($hostPage->hostPageId); + } } } // Apply new robots.txt rules $robots = new Robots(($hostRobots ? (string) $hostRobots : (string) CRAWL_ROBOTS_DEFAULT_RULES) . PHP_EOL . ($host->robotsPostfix ? (string) $host->robotsPostfix : (string) CRAWL_ROBOTS_POSTFIX_RULES)); - foreach ($db->getHostImages($host->hostId) as $hostImage) { - - if (!$robots->uriAllowed($hostImage->uri)) { - - // Delete foreign key relations - $db->deleteHostImageDescription($hostImage->hostImageId); - $db->deleteHostImageToHostPage($hostImage->hostImageId); - - // Delete host image - $hostImagesDeleted += $db->deleteHostImage($hostImage->hostImageId); - } - } - foreach ($db->getHostPages($host->hostId) as $hostPage) { if (!$robots->uriAllowed($hostPage->uri)) { - // Delete foreign key relations - $db->deleteHostPageToHostImage($hostPage->hostPageId); - // Delete host page $db->deleteHostPageDescriptions($hostPage->hostPageId); + $db->deleteHostPageToHostPage($hostPage->hostPageId); - $hostPagesDeleted += $db->deleteHostPage($hostPage->hostPageId); + if ($hostPage->uri != '/') { + $hostPagesDeleted += $db->deleteHostPage($hostPage->hostPageId); + } } } - - // Clean up host images unrelated to host pages - foreach ($db->getUnrelatedHostImages() as $hostImage) { - - // Delete foreign key relations - $db->deleteHostImageDescription($hostImage->hostImageId); - $db->deleteHostImageToHostPage($hostImage->hostImageId); - - // Delete host image - $hostImagesDeleted += $db->deleteHostImage($hostImage->hostImageId); - } } // Clean up deprecated manifests @@ -207,12 +164,6 @@ try { // Delete page description history $hostPageDescriptionsDeleted += $db->deleteHostPageDescriptionsByTimeAdded(time() - CLEAN_PAGE_DESCRIPTION_OFFSET); - // Reset banned images - $hostImagesBansRemoved += $db->resetBannedHostImages(time() - CLEAN_IMAGE_BAN_SECONDS_OFFSET); - - // Delete image description history - $hostImageDescriptionsDeleted += $db->deleteHostImageDescriptionsByTimeAdded(time() - CLEAN_IMAGE_DESCRIPTION_OFFSET); - // Delete deprecated logs $logsCleanerDeleted += $db->deleteLogCleaner(time() - CLEAN_LOG_SECONDS_OFFSET); $logsCrawlerDeleted += $db->deleteLogCrawler(time() - CRAWL_LOG_SECONDS_OFFSET); @@ -238,9 +189,6 @@ if (CLEAN_LOG_ENABLED) { $hostPagesDeleted, $hostPageDescriptionsDeleted, $hostPagesBansRemoved, - $hostImagesDeleted, - $hostImageDescriptionsDeleted, - $hostImagesBansRemoved, $manifestsTotal, $manifestsDeleted, $logsCleanerDeleted, @@ -256,15 +204,12 @@ if (CLEAN_LOG_ENABLED) { echo 'Hosts total: ' . $hostsTotal . PHP_EOL; echo 'Hosts updated: ' . $hostsUpdated . PHP_EOL; echo 'Hosts pages deleted: ' . $hostPagesDeleted . PHP_EOL; -echo 'Hosts images deleted: ' . $hostImagesDeleted . PHP_EOL; echo 'Manifests total: ' . $manifestsTotal . PHP_EOL; echo 'Manifests deleted: ' . $manifestsDeleted . PHP_EOL; echo 'Host page bans removed: ' . $hostPagesBansRemoved . PHP_EOL; echo 'Host page descriptions deleted: ' . $hostPageDescriptionsDeleted . PHP_EOL; -echo 'Host images bans removed: ' . $hostImagesBansRemoved . PHP_EOL; -echo 'Host image descriptions deleted: ' . $hostImageDescriptionsDeleted . PHP_EOL; echo 'Cleaner logs deleted: ' . $logsCleanerDeleted . PHP_EOL; echo 'Crawler logs deleted: ' . $logsCrawlerDeleted . PHP_EOL; diff --git a/crontab/crawler.php b/crontab/crawler.php index 914a233..150ad14 100644 --- a/crontab/crawler.php +++ b/crontab/crawler.php @@ -33,16 +33,12 @@ $httpDownloadSizeTotal = 0; $httpRequestsTimeTotal = 0; $hostPagesProcessed = 0; -$hostImagesProcessed = 0; $manifestsProcessed = 0; $hostPagesIndexed = 0; -$hostImagesIndexed = 0; $manifestsAdded = 0; $hostPagesAdded = 0; -$hostImagesAdded = 0; $hostsAdded = 0; $hostPagesBanned = 0; -$hostImagesBanned = 0; // Connect database $db = new MySQL(DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD); @@ -121,7 +117,7 @@ try { // Update curl stats $httpRequestsTotal++; - $httpRequestsSizeTotal += $curl->getSizeRequest(); + $httpRequestsSizeTotal += $curl->getSizeRequest(); $httpDownloadSizeTotal += $curl->getSizeDownload(); $httpRequestsTimeTotal += $curl->getTotalTime(); @@ -167,26 +163,15 @@ try { // Validate formatted link if (filter_var($hostURL, FILTER_VALIDATE_URL) && preg_match(CRAWL_URL_REGEXP, $hostURL)) { - // Host exists - if ($host = $db->getHost(crc32($hostURL))) { - - $hostStatus = $host->status; - $hostNsfw = $host->nsfw; - $hostPageLimit = $host->crawlPageLimit; - $hostImageLimit = $host->crawlImageLimit; - $hostId = $host->hostId; - $hostRobots = $host->robots; - $hostRobotsPostfix = $host->robotsPostfix; - - // Register new host - } else { + // Host not exists + if (!$db->getHost(crc32($hostURL))) { // Get robots.txt if exists $curl = new Curl($hostURL . '/robots.txt', CRAWL_CURLOPT_USERAGENT); // Update curl stats $httpRequestsTotal++; - $httpRequestsSizeTotal += $curl->getSizeRequest(); + $httpRequestsSizeTotal += $curl->getSizeRequest(); $httpDownloadSizeTotal += $curl->getSizeDownload(); $httpRequestsTimeTotal += $curl->getTotalTime(); @@ -198,158 +183,33 @@ try { $hostRobotsPostfix = CRAWL_ROBOTS_POSTFIX_RULES; - $hostStatus = CRAWL_HOST_DEFAULT_STATUS; - $hostNsfw = CRAWL_HOST_DEFAULT_NSFW; + $hostStatus = CRAWL_HOST_DEFAULT_STATUS ? 1 : 0; + $hostNsfw = CRAWL_HOST_DEFAULT_NSFW ? 1 : 0; + $hostMetaOnly = CRAWL_HOST_DEFAULT_META_ONLY ? 1 : 0; $hostPageLimit = CRAWL_HOST_DEFAULT_PAGES_LIMIT; - $hostImageLimit= CRAWL_HOST_DEFAULT_IMAGES_LIMIT; - - $hostId = $db->addHost($remoteManifestHosts->result->scheme, - $remoteManifestHosts->result->name, - $remoteManifestHosts->result->port, - crc32($hostURL), - time(), - null, - $hostPageLimit, - $hostImageLimit, - (string) CRAWL_HOST_DEFAULT_META_ONLY, - (string) $hostStatus, - (string) $hostNsfw, - $hostRobots, - $hostRobotsPostfix); - - if ($hostId) { - - $hostsAdded++; - } else { - - continue; - } + $hostId = $db->addHost( $remoteManifestHosts->result->scheme, + $remoteManifestHosts->result->name, + $remoteManifestHosts->result->port, + crc32($hostURL), + time(), + null, + $hostPageLimit, + (string) $hostMetaOnly, + (string) $hostStatus, + (string) $hostNsfw, + $hostRobots, + $hostRobotsPostfix); + + // Add web root host page to make host visible in the crawl queue + $db->addHostPage($hostId, crc32('/'), '/', time()); + + // Increase counters + $hostPagesAdded++; + $hostsAdded++; } - - // Init robots parser - $robots = new Robots(($hostRobots ? (string) $hostRobots : (string) CRAWL_ROBOTS_DEFAULT_RULES) . PHP_EOL . ($hostRobotsPostfix ? (string) $hostRobotsPostfix : (string) CRAWL_ROBOTS_POSTFIX_RULES)); - - // Save home page info - // Until page API not implemented, save at least home page to have ability to crawl - // @TODO - if ($hostStatus && // host enabled - $robots->uriAllowed('/') && // page allowed by robots.txt rules - $hostPageLimit > $db->getTotalHostPages($hostId) && // pages quantity not reached host limit - !$db->getHostPage($hostId, crc32('/'))) { // page not exists - - if ($db->addHostPage($hostId, crc32('/'), '/', time())) { - - $hostPagesAdded++; - } - } - } - } - } - - // Process images crawl queue - foreach ($db->getHostImageCrawlQueue(CRAWL_IMAGE_LIMIT, time() - CRAWL_IMAGE_SECONDS_OFFSET) as $queueHostImage) { - - // Build URL from the DB - $queueHostImageURL = $queueHostImage->scheme . '://' . $queueHostImage->name . ($queueHostImage->port ? ':' . $queueHostImage->port : false) . $queueHostImage->uri; - - // Init image request - $curl = new Curl($queueHostImageURL, CRAWL_CURLOPT_USERAGENT); - - // Update curl stats - $httpRequestsTotal++; - $httpRequestsSizeTotal += $curl->getSizeRequest(); - $httpDownloadSizeTotal += $curl->getSizeDownload(); - $httpRequestsTimeTotal += $curl->getTotalTime(); - - // Update image index anyway, with the current time and http code - $hostImagesProcessed += $db->updateHostImageCrawlQueue($queueHostImage->hostImageId, time(), $curl->getCode()); - - // Skip image processing non 200 code - if (200 != $curl->getCode()) { - - $db->updateHostImageHttpCode($queueHostImage->hostImageId, $curl->getCode(), time()); - - $hostImagesBanned += $db->updateHostImageTimeBanned($queueHostImage->hostImageId, time()); - - continue; - } - - // Skip image processing on MIME type not provided - if (!$hostImageContentType = $curl->getContentType()) { - - $hostImagesBanned += $db->updateHostImageTimeBanned($queueHostImage->hostImageId, time()); - - continue; - } - - // Skip image processing on MIME type not allowed in settings - $hostImageBanned = true; - foreach ((array) explode(',', CRAWL_IMAGE_MIME) as $mime) { - - if (false !== strpos($hostImageContentType, trim($mime))) { - - $hostImageBanned = false; - break; - } - } - - if ($hostImageBanned) { - - $db->updateHostImageMime($queueHostImage->hostImageId, Filter::mime($hostImageContentType), time()); - - $hostImagesBanned += $db->updateHostImageTimeBanned($queueHostImage->hostImageId, time()); - - continue; - } - - // Convert remote image data to base64 string - if (!$queueHostImage->crawlMetaOnly) { - - // Skip image processing without returned content - if (!$hostImageContent = $curl->getContent()) { - - $hostImagesBanned += $db->updateHostImageTimeBanned($queueHostImage->hostImageId, time()); - - continue; - } - - if (!$hostImageExtension = @pathinfo($queueHostImageURL, PATHINFO_EXTENSION)) { - - $hostImagesBanned += $db->updateHostImageTimeBanned($queueHostImage->hostImageId, time()); - - continue; - } - - if (!$hostImageBase64 = @base64_encode($hostImageContent)) { - - $hostImagesBanned += $db->updateHostImageTimeBanned($queueHostImage->hostImageId, time()); - - continue; - } - - $hostImageData = 'data:image/' . str_replace(['svg'], ['svg+xml'], $hostImageExtension) . ';base64,' . $hostImageBase64; - - // Set host image description - // On link collection we knew meta but data, - // this step use latest description slice and insert the data received by curl request - if ($lastHostImageDescription = $db->getLastHostImageDescription($queueHostImage->hostImageId)) { - - $db->setHostImageDescription($queueHostImage->hostImageId, - crc32($lastHostImageDescription->alt . - $lastHostImageDescription->title . - $hostImageData), - $lastHostImageDescription->alt, - $lastHostImageDescription->title, - $hostImageData, - time(), - time()); } } - - $hostImagesIndexed += $db->updateHostImage($queueHostImage->hostImageId, - Filter::mime($hostImageContentType), - time()); } // Process pages crawl queue @@ -476,12 +336,11 @@ try { time()); // Add queued page description if not exists - $db->setHostPageDescription($queueHostPage->hostPageId, - crc32($content), + $db->addHostPageDescription($queueHostPage->hostPageId, Filter::pageTitle($title->item(0)->nodeValue), Filter::pageDescription($metaDescription), Filter::pageKeywords($metaKeywords), - $queueHostPage->crawlMetaOnly ? null : Filter::string($content), + $queueHostPage->crawlMetaOnly ? null : base64_encode($content), time()); // Update manifest registry @@ -499,155 +358,42 @@ try { } } - // Collect page images - if (CRAWL_HOST_DEFAULT_IMAGES_LIMIT > 0) { - - foreach (@$dom->getElementsByTagName('img') as $img) { - - // Skip images without src attribute - if (!$imageSrc = @$img->getAttribute('src')) { - - continue; - } - - // Skip images without alt attribute - if (!$imageAlt = @$img->getAttribute('alt')) { - - continue; - } - - if (!$imageTitle = @$img->getAttribute('title')) { - $imageTitle = null; - } - - // Add domain to the relative src links - if (!parse_url($imageSrc, PHP_URL_HOST)) { - - $imageSrc = $queueHostPage->scheme . '://' . - $queueHostPage->name . - ($queueHostPage->port ? ':' . $queueHostPage->port : '') . - '/' . trim(ltrim(str_replace(['./', '../'], '', $imageSrc), '/'), '.'); - } - - // Validate formatted src link - if (filter_var($imageSrc, FILTER_VALIDATE_URL) && preg_match(CRAWL_URL_REGEXP, $imageSrc)) { - - // Parse formatted src link - $hostImageURL = Parser::hostURL($imageSrc); - $hostImageURI = Parser::uri($imageSrc); - - // Host exists - if ($host = $db->getHost(crc32($hostImageURL->string))) { - - $hostStatus = $host->status; - $hostNsfw = $host->nsfw; - $hostPageLimit = $host->crawlPageLimit; - $hostImageLimit = $host->crawlImageLimit; - $hostId = $host->hostId; - $hostRobots = $host->robots; - $hostRobotsPostfix = $host->robotsPostfix; - - // Register new host - } else { - - // Get robots.txt if exists - $curl = new Curl($hostImageURL->string . '/robots.txt', CRAWL_CURLOPT_USERAGENT); - - // Update curl stats - $httpRequestsTotal++; - $httpRequestsSizeTotal += $curl->getSizeRequest(); - $httpDownloadSizeTotal += $curl->getSizeDownload(); - $httpRequestsTimeTotal += $curl->getTotalTime(); - - if (200 == $curl->getCode() && false !== stripos($curl->getContent(), 'user-agent:')) { - $hostRobots = $curl->getContent(); - } else { - $hostRobots = CRAWL_ROBOTS_DEFAULT_RULES; - } - - $hostRobotsPostfix = CRAWL_ROBOTS_POSTFIX_RULES; - - $hostStatus = CRAWL_HOST_DEFAULT_STATUS; - $hostNsfw = CRAWL_HOST_DEFAULT_NSFW; - $hostPageLimit = CRAWL_HOST_DEFAULT_PAGES_LIMIT; - $hostImageLimit= CRAWL_HOST_DEFAULT_IMAGES_LIMIT; - $hostId = $db->addHost($hostImageURL->scheme, - $hostImageURL->name, - $hostImageURL->port, - crc32($hostURL->string), - time(), - null, - $hostPageLimit, - $hostImageLimit, - (string) CRAWL_HOST_DEFAULT_META_ONLY, - (string) $hostStatus, - (string) $hostNsfw, - $hostRobots, - $hostRobotsPostfix); - - if ($hostId) { - - $hostsAdded++; + // Init links registry + $links = []; - } else { + // Collect image links + foreach (@$dom->getElementsByTagName('img') as $img) { - continue; - } - } + // Skip images without src attribute + if (!$src = @$img->getAttribute('src')) { - // Init robots parser - $robots = new Robots(($hostRobots ? (string) $hostRobots : (string) CRAWL_ROBOTS_DEFAULT_RULES) . PHP_EOL . ($hostRobotsPostfix ? (string) $hostRobotsPostfix : (string) CRAWL_ROBOTS_POSTFIX_RULES)); - - // Save new image info - $hostImageId = $db->getHostImageId($hostId, crc32($hostImageURI->string)); - - if (!$hostImageId && // image not exists - $hostStatus && // host enabled - $robots->uriAllowed($hostImageURI->string) && // src allowed by robots.txt rules - $hostImageLimit > $db->getTotalHostImages($hostId)) { // images quantity not reached host limit + continue; + } - // Add host image - if ($hostImageId = $db->addHostImage($hostId, - crc32($hostImageURI->string), - $hostImageURI->string, - time())) { + // Skip images without alt attribute + if (!$alt = @$img->getAttribute('alt')) { - $hostImagesAdded++; + continue; + } - } else { + if (!$title = @$img->getAttribute('title')) { + $title = null; + } - continue; - } - } + // Skip encoded content + if (false !== strpos($src, 'data:')) { - // Add/update host image description - $imageAlt = Filter::imageAlt($imageAlt); - $imageTitle = Filter::imageTitle($imageTitle); - - $db->setHostImageDescription($hostImageId, - crc32($imageAlt . $imageTitle), - $imageAlt, - $imageTitle, - null, - time(), - null); - - // Relate host image with host page was found - $db->setHostImageToHostPage($hostImageId, $queueHostPage->hostPageId, time(), 1); - - // Increase image rank when link does not match the current host - if ($hostImageURL->scheme . '://' . - $hostImageURL->name . - ($hostImageURL->port ? ':' . $hostImageURL->port : '') - != - $queueHostPage->scheme . '://' . - $queueHostPage->name . - ($queueHostPage->port ? ':' . $queueHostPage->port : '')) { - - $db->updateHostImageRank($hostId, crc32($hostImageURI->string), 1); - } - } + continue; } + + // Add link to queue + $links[] = [ + 'title' => null, + 'description' => null, + 'keywords' => Filter::pageKeywords($alt . ($title ? ',' . $title : '')), + 'data' => null, + 'ref' => $src, + ]; } // Collect internal links from page content @@ -659,6 +405,11 @@ try { continue; } + // Get title attribute if available + if (!$title = @$a->getAttribute('title')) { + $title = null; + } + // Skip anchor links if (false !== strpos($href, '#')) { @@ -683,23 +434,34 @@ try { continue; } - // @TODO skip other apps + // Add link to queue + $links[] = [ + 'title' => null, + 'description' => null, + 'keywords' => Filter::pageKeywords($title), + 'data' => null, + 'ref' => $href, + ]; + } + + // Process links collected + foreach ($links as $link) { - // Add absolute URL prefixes to the relative links found - if (!parse_url($href, PHP_URL_HOST)) { + //Make relative links absolute + if (!parse_url($link['ref'], PHP_URL_HOST)) { - $href = $queueHostPage->scheme . '://' . - $queueHostPage->name . - ($queueHostPage->port ? ':' . $queueHostPage->port : '') . - '/' . trim(ltrim(str_replace(['./', '../'], '', $href), '/'), '.'); + $link['ref'] = $queueHostPage->scheme . '://' . + $queueHostPage->name . + ($queueHostPage->port ? ':' . $queueHostPage->port : '') . + '/' . trim(ltrim(str_replace(['./', '../'], '', $link['ref']), '/'), '.'); } // Validate formatted link - if (filter_var($href, FILTER_VALIDATE_URL) && preg_match(CRAWL_URL_REGEXP, $href)) { + if (filter_var($link['ref'], FILTER_VALIDATE_URL) && preg_match(CRAWL_URL_REGEXP, $link['ref'])) { // Parse formatted link - $hostURL = Parser::hostURL($href); - $hostPageURI = Parser::uri($href); + $hostURL = Parser::hostURL($link['ref']); + $hostPageURI = Parser::uri($link['ref']); // Host exists if ($host = $db->getHost(crc32($hostURL->string))) { @@ -707,7 +469,7 @@ try { $hostStatus = $host->status; $hostNsfw = $host->nsfw; $hostPageLimit = $host->crawlPageLimit; - $hostImageLimit = $host->crawlImageLimit; + $hostMetaOnly = $host->crawlMetaOnly; $hostId = $host->hostId; $hostRobots = $host->robots; $hostRobotsPostfix = $host->robotsPostfix; @@ -731,30 +493,33 @@ try { } $hostRobotsPostfix = CRAWL_ROBOTS_POSTFIX_RULES; - - $hostStatus = CRAWL_HOST_DEFAULT_STATUS; - $hostNsfw = CRAWL_HOST_DEFAULT_NSFW; - $hostPageLimit = CRAWL_HOST_DEFAULT_PAGES_LIMIT; - $hostImageLimit= CRAWL_HOST_DEFAULT_IMAGES_LIMIT; - $hostId = $db->addHost($hostURL->scheme, - $hostURL->name, - $hostURL->port, - crc32($hostURL->string), - time(), - null, - $hostPageLimit, - $hostImageLimit, - (string) CRAWL_HOST_DEFAULT_META_ONLY, - (string) $hostStatus, - (string) $hostNsfw, - $hostRobots, - $hostRobotsPostfix); - - if ($hostId) { - - $hostsAdded++; - - } else { + $hostStatus = CRAWL_HOST_DEFAULT_STATUS ? 1 : 0; + $hostNsfw = CRAWL_HOST_DEFAULT_NSFW ? 1 : 0; + $hostMetaOnly = CRAWL_HOST_DEFAULT_META_ONLY ? 1 : 0; + $hostPageLimit = CRAWL_HOST_DEFAULT_PAGES_LIMIT; + + $hostId = $db->addHost( $hostURL->scheme, + $hostURL->name, + $hostURL->port, + crc32($hostURL->string), + time(), + null, + $hostPageLimit, + (string) $hostMetaOnly, + (string) $hostStatus, + (string) $hostNsfw, + $hostRobots, + $hostRobotsPostfix); + + // Add web root host page to make host visible in the crawl queue + $db->addHostPage($hostId, crc32('/'), '/', time()); + + // Increase counters + $hostPagesAdded++; + $hostsAdded++; + + // When page is root, skip next operations + if ($hostPageURI->string == '/') { continue; } @@ -766,25 +531,27 @@ try { // Save page info if ($hostStatus && // host enabled $robots->uriAllowed($hostPageURI->string) && // page allowed by robots.txt rules - $hostPageLimit > $db->getTotalHostPages($hostId) && // pages quantity not reached host limit - !$db->getHostPage($hostId, crc32($hostPageURI->string))) { // page not exists + $hostPageLimit > $db->getTotalHostPages($hostId)) { // pages quantity not reached host limit - if ($db->addHostPage($hostId, crc32($hostPageURI->string), $hostPageURI->string, time())) { + if ($hostPage = $db->getHostPage($hostId, crc32($hostPageURI->string))) { + + $hostPageId = $hostPage->hostPageId; + + } else { + + $hostPageId = $db->addHostPage($hostId, crc32($hostPageURI->string), $hostPageURI->string, time()); + + $db->addHostPageDescription($hostPageId, + $link['title'], + $link['description'], + $link['keywords'], + $hostMetaOnly ? null : ($link['data'] ? base64_encode($link['data']) : null), + time()); $hostPagesAdded++; } - } - // Increase page rank when link does not match the current host - if ($hostURL->scheme . '://' . - $hostURL->name . - ($hostURL->port ? ':' . $hostURL->port : '') - != - $queueHostPage->scheme . '://' . - $queueHostPage->name . - ($queueHostPage->port ? ':' . $queueHostPage->port : '')) { - - $db->updateHostPageRank($hostId, crc32($hostPageURI->string), 1); + $db->addHostPageToHostPage($queueHostPage->hostPageId, $hostPageId); } } } @@ -811,10 +578,6 @@ if (CRAWL_LOG_ENABLED) { $hostPagesIndexed, $hostPagesAdded, $hostPagesBanned, - $hostImagesIndexed, - $hostImagesProcessed, - $hostImagesAdded, - $hostImagesBanned, $manifestsProcessed, $manifestsAdded, $httpRequestsTotal, @@ -832,11 +595,6 @@ echo 'Pages indexed: ' . $hostPagesIndexed . PHP_EOL; echo 'Pages added: ' . $hostPagesAdded . PHP_EOL; echo 'Pages banned: ' . $hostPagesBanned . PHP_EOL; -echo 'Images processed: ' . $hostImagesProcessed . PHP_EOL; -echo 'Images indexed: ' . $hostImagesIndexed . PHP_EOL; -echo 'Images added: ' . $hostImagesAdded . PHP_EOL; -echo 'Images banned: ' . $hostImagesBanned . PHP_EOL; - echo 'Manifests processed: ' . $manifestsProcessed . PHP_EOL; echo 'Manifests added: ' . $manifestsAdded . PHP_EOL; diff --git a/database/yggo.mwb b/database/yggo.mwb index 35ee90c23aeb841dc7957430ef48b7130472fea3..da1d4f63cc873662208cec4f1e1a4482d63412e6 100644 GIT binary patch literal 17422 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 literal 21431 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

`OMqr<*Mzws!l}-F*U%?Pf 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 diff --git a/library/filter.php b/library/filter.php index 1570de3..edaeff5 100644 --- a/library/filter.php +++ b/library/filter.php @@ -54,24 +54,6 @@ class Filter { return $keywords; } - static public function imageAlt(mixed $alt) { - - $alt = (string) $alt; - - $alt = trim($alt); - - return $alt; - } - - static public function imageTitle(mixed $title) { - - $title = (string) $title; - - $title = trim($title); - - return $title; - } - static public function pageData(mixed $data) { $data = (string) $data; diff --git a/library/mysql.php b/library/mysql.php index f0aaa64..605b892 100644 --- a/library/mysql.php +++ b/library/mysql.php @@ -102,11 +102,44 @@ class MySQL { return $query->fetch()->total; } - public function addHost(string $scheme, string $name, mixed $port, int $crc32url, int $timeAdded, mixed $timeUpdated, int $crawlPageLimit, int $crawlImageLimit, string $crawlMetaOnly, string $status, string $nsfw, mixed $robots, mixed $robotsPostfix) { - - $query = $this->_db->prepare('INSERT INTO `host` (`scheme`, `name`, `port`, `crc32url`, `timeAdded`, `timeUpdated`, `crawlPageLimit`, `crawlImageLimit`, `crawlMetaOnly`, `status`, `nsfw`, `robots`, `robotsPostfix`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); - - $query->execute([$scheme, $name, $port, $crc32url, $timeAdded, $timeUpdated, $crawlPageLimit, $crawlImageLimit, $crawlMetaOnly, $status, $nsfw, $robots, $robotsPostfix]); + public function addHost(string $scheme, + string $name, + mixed $port, + int $crc32url, + int $timeAdded, + mixed $timeUpdated, + int $crawlPageLimit, + string $crawlMetaOnly, + string $status, + string $nsfw, + mixed $robots, + mixed $robotsPostfix) { + + $query = $this->_db->prepare('INSERT INTO `host` (`scheme`, + `name`, + `port`, + `crc32url`, + `timeAdded`, + `timeUpdated`, + `crawlPageLimit`, + `crawlMetaOnly`, + `status`, + `nsfw`, + `robots`, + `robotsPostfix`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); + + $query->execute([ $scheme, + $name, + $port, + $crc32url, + $timeAdded, + $timeUpdated, + $crawlPageLimit, + $crawlMetaOnly, + $status, + $nsfw, + $robots, + $robotsPostfix]); return $this->_db->lastInsertId(); } @@ -120,253 +153,6 @@ class MySQL { return $query->rowCount(); } - // Images - public function getTotalHostImages(int $hostId) { - - $query = $this->_db->prepare('SELECT COUNT(*) AS `total` FROM `hostImage` WHERE `hostId` = ?'); - - $query->execute([$hostId]); - - return $query->fetch()->total; - } - - public function getHostImageId(int $hostId, int $crc32uri) { - - $query = $this->_db->prepare('SELECT `hostImageId` FROM `hostImage` WHERE `hostId` = ? AND `crc32uri` = ? LIMIT 1'); - - $query->execute([$hostId, $crc32uri]); - - return $query->rowCount() ? $query->fetch()->hostImageId : 0; - } - - public function getHostImages(int $hostId) { - - $query = $this->_db->prepare('SELECT * FROM `hostImage` WHERE `hostId` = ?'); - - $query->execute([$hostId]); - - return $query->fetchAll(); - } - - public function getUnrelatedHostImages() { - - $query = $this->_db->prepare('SELECT * FROM `hostImage` - WHERE `hostImage`.`hostImageId` NOT IN (SELECT `hostImageToHostPage`.`hostImageId` - FROM `hostImageToHostPage` - - WHERE `hostImageToHostPage`.`hostImageId` = `hostImage`.`hostImageId`)'); - - $query->execute(); - - return $query->fetchAll(); - } - - public function getHostImagesByLimit(int $hostId, int $limit) { - - $query = $this->_db->prepare('SELECT * FROM `hostImage` WHERE `hostId` = ? ORDER BY hostImageId DESC LIMIT ' . (int) $limit); - - $query->execute([$hostId]); - - return $query->fetchAll(); - } - - public function addHostImage(int $hostId, - int $crc32uri, - string $uri, - int $timeAdded, - mixed $timeUpdated = null, - mixed $timeBanned = null, - mixed $httpCode = null, - mixed $mime = null, - mixed $rank = null) { - - $query = $this->_db->prepare('INSERT INTO `hostImage` ( `hostId`, - `crc32uri`, - `uri`, - `timeAdded`, - `timeUpdated`, - `timeBanned`, - `httpCode`, - `mime`, - `rank`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)'); - - $query->execute([$hostId, $crc32uri, $uri, $timeAdded, $timeUpdated, $timeBanned, $httpCode, $mime, $rank]); - - return $this->_db->lastInsertId(); - } - - public function updateHostImageRank(int $hostId, - int $crc32uri, - int $increment) { - - $query = $this->_db->prepare('UPDATE `hostImage` SET `rank` = `rank` + ' . (int) $increment . ' WHERE `hostId` = ? AND `crc32uri` = ? LIMIT 1'); - - $query->execute([$hostId, $crc32uri]); - - return $query->rowCount(); - } - - public function updateHostImageTimeBanned(int $hostImageId, int $timeBanned) { - - $query = $this->_db->prepare('UPDATE `hostImage` SET `timeBanned` = ? WHERE `hostImageId` = ? LIMIT 1'); - - $query->execute([$timeBanned, $hostImageId]); - - return $query->rowCount(); - } - - public function updateHostImageHttpCode(int $hostImageId, - int $httpCode, - int $timeUpdated) { - - $query = $this->_db->prepare('UPDATE `hostImage` SET `httpCode` = ?, `timeUpdated` = ? WHERE `hostImageId` = ? LIMIT 1'); - - $query->execute([$httpCode, $timeUpdated, $hostImageId]); - - return $query->rowCount(); - } - - public function updateHostImageMime(int $hostImageId, - string $mime, - int $timeUpdated) { - - $query = $this->_db->prepare('UPDATE `hostImage` SET `mime` = ?, `timeUpdated` = ? WHERE `hostImageId` = ? LIMIT 1'); - - $query->execute([$mime, $timeUpdated, $hostImageId]); - - return $query->rowCount(); - } - - public function updateHostImage(int $hostImageId, - string $mime, - int $timeUpdated, - mixed $timeBanned = null) { - - $query = $this->_db->prepare('UPDATE `hostImage` SET `mime` = ?, `timeUpdated` = ?, `timeBanned` = ? WHERE `hostImageId` = ? LIMIT 1'); - - $query->execute([$mime, $timeUpdated, $timeBanned, $hostImageId]); - - return $query->rowCount(); - } - - public function deleteHostImage(int $hostImageId) { - - $query = $this->_db->prepare('DELETE FROM `hostImage` WHERE `hostImageId` = ? LIMIT 1'); - - $query->execute([$hostImageId]); - - return $query->rowCount(); - } - - public function setHostImageDescription(int $hostImageId, - int $crc32id, - string $alt, - string $title, - mixed $data, - int $timeAdded, - mixed $timeUpdated) { - - $query = $this->_db->prepare('INSERT INTO `hostImageDescription` (`hostImageId`, - `crc32id`, - `alt`, - `title`, - `timeAdded`) VALUES (?, ?, ?, ?, ?) - - ON DUPLICATE KEY UPDATE `alt` = ?, - `title` = ?, - `timeUpdated` = ?'); - - $query->execute([$hostImageId, $crc32id, $alt, $title, $timeAdded, $alt, $title, $timeUpdated]); - - return $this->_db->lastInsertId(); - } - - public function setHostImageDescriptionData(int $hostImageId, - int $crc32id, - mixed $data, - int $timeAdded, - mixed $timeUpdated) { - - $query = $this->_db->prepare('INSERT INTO `hostImageDescription` (`hostImageId`, - `crc32id`, - `data`, - `timeAdded`) VALUES (?, ?, ?, ?) - - ON DUPLICATE KEY UPDATE `timeUpdated` = ?'); - - $query->execute([$hostImageId, $crc32id, $data, $timeAdded, $timeUpdated]); - - return $this->_db->lastInsertId(); - } - - public function deleteHostImageDescription(int $hostImageId) { - - $query = $this->_db->prepare('DELETE FROM `hostImageDescription` WHERE `hostImageId` = ?'); - - $query->execute([$hostImageId]); - - return $query->rowCount(); - } - - public function getLastHostImageDescription(int $hostImageId) { - - $query = $this->_db->prepare('SELECT * FROM `hostImageDescription` WHERE `hostImageId` = ? ORDER BY `timeUpdated` DESC, `timeAdded` DESC LIMIT 1'); - - $query->execute([$hostImageId]); - - return $query->fetch(); - } - - public function getHostImageHostPages(int $hostImageId, int $limit = 5) { - - $query = $this->_db->prepare('SELECT * FROM `hostImageToHostPage` - JOIN `hostPage` ON (`hostPage`.`hostPageId` = `hostImageToHostPage`.`hostPageId`) - - WHERE `hostImageId` = ? - - ORDER BY `hostPage`.`rank` DESC, RAND(`hostPage`.`hostId`) - - LIMIT ' . (int) $limit); - - $query->execute([$hostImageId]); - - return $query->fetchAll(); - } - - public function getHostImageHostPagesTotal(int $hostImageId) { - - $query = $this->_db->prepare('SELECT COUNT(*) AS `total` FROM `hostImageToHostPage` WHERE `hostImageId` = ?'); - - $query->execute([$hostImageId]); - - return $query->fetch()->total; - } - - public function setHostImageToHostPage(int $hostImageId, int $hostPageId, int $time, int $quantity) { - - $query = $this->_db->prepare('INSERT INTO `hostImageToHostPage` (`hostImageId`, - `hostPageId`, - `timeAdded`, - `timeUpdated`, - `quantity`) VALUES (?, ?, ?, ?, ?) - - ON DUPLICATE KEY UPDATE `timeUpdated` = ?, - `quantity` = `quantity` + ' . (int) $quantity); - - $query->execute([$hostImageId, $hostPageId, $time, null, $quantity, $time]); - - return $query->rowCount(); // no primary key - } - - public function deleteHostImageToHostPage(int $hostImageId) { - - $query = $this->_db->prepare('DELETE FROM `hostImageToHostPage` WHERE `hostImageId` = ?'); - - $query->execute([$hostImageId]); - - return $query->rowCount(); - } - // Pages public function getTotalHostPages(int $hostId) { @@ -421,18 +207,9 @@ class MySQL { return $query->fetchAll(); } - public function getHostPageDescription(int $hostPageId, int $crc32data) { - - $query = $this->_db->prepare('SELECT * FROM `hostPageDescription` WHERE `hostPageId` = ? AND `crc32data` = ? LIMIT 1'); - - $query->execute([$hostPageId, $crc32data]); - - return $query->fetch(); - } - public function getLastPageDescription(int $hostPageId) { - $query = $this->_db->prepare('SELECT * FROM `hostPageDescription` WHERE `hostPageId` = ? ORDER BY `timeUpdated` DESC, `timeAdded` DESC LIMIT 1'); + $query = $this->_db->prepare('SELECT * FROM `hostPageDescription` WHERE `hostPageId` = ? ORDER BY `timeAdded` DESC LIMIT 1'); $query->execute([$hostPageId]); @@ -442,7 +219,6 @@ class MySQL { public function getFoundHostPage(int $hostPageId) { $query = $this->_db->prepare('SELECT `hostPage`.`uri`, - `hostPage`.`rank`, `host`.`scheme`, `host`.`name`, `host`.`port` @@ -459,28 +235,6 @@ class MySQL { return $query->fetch(); } - public function getFoundHostImage(int $hostImageId) { - - $query = $this->_db->prepare('SELECT `hostImage`.`hostImageId`, - `hostImage`.`uri`, - `hostImage`.`rank`, - `host`.`scheme`, - `host`.`name`, - `host`.`port`, - `host`.`crawlMetaOnly` - - FROM `hostImage` - JOIN `host` ON (`host`.`hostId` = `hostImage`.`hostId`) - - WHERE `hostImage`.`hostImageId` = ? - - LIMIT 1'); - - $query->execute([$hostImageId]); - - return $query->fetch(); - } - public function addHostPage(int $hostId, int $crc32uri, string $uri, @@ -488,8 +242,7 @@ class MySQL { mixed $timeUpdated = null, mixed $timeBanned = null, mixed $httpCode = null, - mixed $mime = null, - mixed $rank = null) { + mixed $mime = null) { $query = $this->_db->prepare('INSERT INTO `hostPage` (`hostId`, `crc32uri`, @@ -498,10 +251,9 @@ class MySQL { `timeUpdated`, `timeBanned`, `httpCode`, - `mime`, - `rank`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)'); + `mime`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)'); - $query->execute([$hostId, $crc32uri, $uri, $timeAdded, $timeUpdated, $timeBanned, $httpCode, $mime, $rank]); + $query->execute([$hostId, $crc32uri, $uri, $timeAdded, $timeUpdated, $timeBanned, $httpCode, $mime]); return $this->_db->lastInsertId(); } @@ -515,22 +267,6 @@ class MySQL { return $query->rowCount(); } - public function updateHostPageRank(int $hostId, - int $crc32uri, - int $increment) { - - $query = $this->_db->prepare('UPDATE `hostPage` SET `rank` = `rank` + ' . (int) $increment . ' - - WHERE `hostId` = ? - AND `crc32uri` = ? - - LIMIT 1'); - - $query->execute([$hostId, $crc32uri]); - - return $query->rowCount(); - } - public function updateHostPageTimeBanned(int $hostPageId, int $timeBanned) { $query = $this->_db->prepare('UPDATE `hostPage` SET `timeBanned` = ? WHERE `hostPageId` = ? LIMIT 1'); @@ -576,48 +312,52 @@ class MySQL { return $query->rowCount(); } - public function deleteHostPageToHostImage(int $hostPageId) { - - $query = $this->_db->prepare('DELETE FROM `hostImageToHostPage` WHERE `hostPageId` = ?'); - - $query->execute([$hostPageId]); - - return $query->rowCount(); - } - - public function setHostPageDescription(int $hostPageId, - int $crc32data, - mixed $metaTitle, - mixed $metaDescription, - mixed $metaKeywords, + public function addHostPageDescription(int $hostPageId, + mixed $title, + mixed $description, + mixed $keywords, mixed $data, - int $time) { + int $timeAdded) { $query = $this->_db->prepare('INSERT INTO `hostPageDescription` ( `hostPageId`, - `crc32data`, - `metaTitle`, - `metaDescription`, - `metaKeywords`, + `title`, + `description`, + `keywords`, `data`, `timeAdded` - ) VALUES (?, ?, ?, ?, ?, ?, ?) - - ON DUPLICATE KEY UPDATE `timeUpdated` = ?'); + ) VALUES (?, ?, ?, ?, ?, ?)'); $query->execute([ $hostPageId, - $crc32data, - $metaTitle, - $metaDescription, - $metaKeywords, + $title, + $description, + $keywords, $data, - $time, - $time + $timeAdded, ]); return $query->rowCount(); } + public function addHostPageToHostPage(int $hostPageIdSource, int $hostPageIdTarget) { + + $query = $this->_db->prepare('INSERT INTO `hostPageToHostPage` (`hostPageIdSource`, `hostPageIdTarget`, `quantity`) VALUES (?, ?, 0) + + ON DUPLICATE KEY UPDATE `quantity` = `quantity` + 1'); + + $query->execute([$hostPageIdSource, $hostPageIdTarget]); + + } + + public function deleteHostPageToHostPage(int $hostPageId) { + + $query = $this->_db->prepare('DELETE FROM `hostPageToHostPage` WHERE `hostPageIdSource` = ? OR `hostPageIdTarget` = ?'); + + $query->execute([$hostPageId, $hostPageId]); + + return $query->rowCount(); + } + // Cleaner tools public function getCleanerQueue(int $limit, int $timeFrom) { @@ -652,33 +392,12 @@ class MySQL { return $query->rowCount(); } - public function resetBannedHostImages(int $timeOffset) { - - $query = $this->_db->prepare('UPDATE `hostImage` SET `timeBanned` = NULL WHERE `timeBanned` IS NOT NULL AND `timeBanned` < ' . (int) $timeOffset); - - $query->execute(); - - return $query->rowCount(); - } - - public function deleteHostImageDescriptionsByTimeAdded(int $timeOffset) { - - $query = $this->_db->prepare('DELETE FROM `hostImageDescription` WHERE `timeAdded` < ' . (int) $timeOffset); - - $query->execute(); - - return $query->rowCount(); - } - public function addCleanerLog(int $timeAdded, int $hostsTotal, int $hostsUpdated, int $hostPagesDeleted, int $hostPageDescriptionsDeleted, int $hostPagesBansRemoved, - int $hostImagesDeleted, - int $hostImageDescriptionsDeleted, - int $hostImagesBansRemoved, int $manifestsTotal, int $manifestsDeleted, int $logsCleanerDeleted, @@ -695,9 +414,6 @@ class MySQL { `hostPagesDeleted`, `hostPageDescriptionsDeleted`, `hostPagesBansRemoved`, - `hostImagesDeleted`, - `hostImageDescriptionsDeleted`, - `hostImagesBansRemoved`, `manifestsTotal`, `manifestsDeleted`, `logsCleanerDeleted`, @@ -706,7 +422,7 @@ class MySQL { `httpRequestsSizeTotal`, `httpDownloadSizeTotal`, `httpRequestsTimeTotal`, - `executionTimeTotal`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); + `executionTimeTotal`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); $query->execute([ $timeAdded, @@ -715,9 +431,6 @@ class MySQL { $hostPagesDeleted, $hostPageDescriptionsDeleted, $hostPagesBansRemoved, - $hostImagesDeleted, - $hostImageDescriptionsDeleted, - $hostImagesBansRemoved, $manifestsTotal, $manifestsDeleted, $logsCleanerDeleted, @@ -751,7 +464,6 @@ class MySQL { `host`.`name`, `host`.`port`, `host`.`crawlPageLimit`, - `host`.`crawlImageLimit`, `host`.`crawlMetaOnly`, `host`.`robots`, `host`.`robotsPostfix` @@ -762,7 +474,7 @@ class MySQL { WHERE (`hostPage`.`timeUpdated` IS NULL OR `hostPage`.`timeUpdated` < ? ) AND `host`.`status` <> 0 AND `hostPage`.`timeBanned` IS NULL - ORDER BY `hostPage`.`rank` DESC, RAND() + ORDER BY RAND() LIMIT ' . (int) $limit); @@ -780,40 +492,6 @@ class MySQL { return $query->rowCount(); } - public function getHostImageCrawlQueue(int $limit, int $timeFrom) { - - $query = $this->_db->prepare('SELECT `hostImage`.`hostId`, - `hostImage`.`hostImageId`, - `hostImage`.`uri`, - `host`.`scheme`, - `host`.`name`, - `host`.`port`, - `host`.`crawlMetaOnly` - - FROM `hostImage` - JOIN `host` ON (`host`.`hostId` = `hostImage`.`hostId`) - - WHERE (`hostImage`.`timeUpdated` IS NULL OR `hostImage`.`timeUpdated` < ? ) AND `host`.`status` <> 0 - AND `hostImage`.`timeBanned` IS NULL - - ORDER BY `hostImage`.`rank` DESC, RAND() - - LIMIT ' . (int) $limit); - - $query->execute([$timeFrom]); - - return $query->fetchAll(); - } - - public function updateHostImageCrawlQueue(int $hostImageId, int $timeUpdated, int $httpCode) { - - $query = $this->_db->prepare('UPDATE `hostImage` SET `timeUpdated` = ?, `httpCode` = ? WHERE `hostImageId` = ? LIMIT 1'); - - $query->execute([$timeUpdated, $httpCode, $hostImageId]); - - return $query->rowCount(); - } - public function getManifestCrawlQueue(int $limit, int $timeFrom) { $query = $this->_db->prepare('SELECT * FROM `manifest` @@ -844,10 +522,6 @@ class MySQL { int $hostPagesIndexed, int $hostPagesAdded, int $hostPagesBanned, - int $hostImagesIndexed, - int $hostImagesProcessed, - int $hostImagesAdded, - int $hostImagesBanned, int $manifestsProcessed, int $manifestsAdded, int $httpRequestsTotal, @@ -862,17 +536,13 @@ class MySQL { `hostPagesIndexed`, `hostPagesAdded`, `hostPagesBanned`, - `hostImagesIndexed`, - `hostImagesProcessed`, - `hostImagesAdded`, - `hostImagesBanned`, `manifestsProcessed`, `manifestsAdded`, `httpRequestsTotal`, `httpRequestsSizeTotal`, `httpDownloadSizeTotal`, `httpRequestsTimeTotal`, - `executionTimeTotal`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); + `executionTimeTotal`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); $query->execute([ $timeAdded, @@ -881,10 +551,6 @@ class MySQL { $hostPagesIndexed, $hostPagesAdded, $hostPagesBanned, - $hostImagesIndexed, - $hostImagesProcessed, - $hostImagesAdded, - $hostImagesBanned, $manifestsProcessed, $manifestsAdded, $httpRequestsTotal, diff --git a/library/sphinxql.php b/library/sphinxql.php index 41379d8..8062761 100644 --- a/library/sphinxql.php +++ b/library/sphinxql.php @@ -11,13 +11,13 @@ class SphinxQL { $this->_sphinx->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); } - public function searchHostPages(string $keyword, int $start, int $limit, int $maxMatches) { + public function searchHostPages(string $keyword, string $mime, int $start, int $limit, int $maxMatches) { $query = $this->_sphinx->prepare('SELECT *, WEIGHT() AS `weight` FROM `hostPage` - WHERE MATCH(?) + WHERE MATCH(?) AND `mime` = ? ORDER BY `rank` DESC, WEIGHT() DESC @@ -25,26 +25,7 @@ class SphinxQL { OPTION `max_matches`=' . (int) ($maxMatches >= 1 ? $maxMatches : 1)); - $query->execute([$keyword]); - - return $query->fetchAll(); - } - - public function searchHostImages(string $keyword, int $start, int $limit, int $maxMatches) { - - $query = $this->_sphinx->prepare('SELECT *, WEIGHT() AS `weight` - - FROM `hostImage` - - WHERE MATCH(?) - - ORDER BY `rank` DESC, WEIGHT() DESC - - LIMIT ' . (int) ($start >= $maxMatches ? ($maxMatches > 0 ? $maxMatches - 1 : 0) : $start) . ',' . (int) $limit . ' - - OPTION `max_matches`=' . (int) ($maxMatches >= 1 ? $maxMatches : 1)); - - $query->execute([$keyword]); + $query->execute([$keyword, $mime]); return $query->fetchAll(); } @@ -58,29 +39,20 @@ class SphinxQL { return $query->fetch()->total; } - public function searchHostPagesTotal(string $keyword) { - - $query = $this->_sphinx->prepare('SELECT COUNT(*) AS `total` FROM `hostPage` WHERE MATCH(?)'); - - $query->execute([$keyword]); - - return $query->fetch()->total; - } - - public function searchHostImagesTotal(string $keyword) { + public function getHostPagesMime() { - $query = $this->_sphinx->prepare('SELECT COUNT(*) AS `total` FROM `hostImage` WHERE MATCH(?)'); + $query = $this->_sphinx->prepare('SELECT `mime` FROM `hostPage` GROUP BY `mime` ORDER BY `mime` ASC'); - $query->execute([$keyword]); + $query->execute(); - return $query->fetch()->total; + return $query->fetchAll(); } - public function getHostImagesTotal() { + public function searchHostPagesTotal(string $keyword, string $mime) { - $query = $this->_sphinx->prepare('SELECT COUNT(*) AS `total` FROM `hostImage`'); + $query = $this->_sphinx->prepare('SELECT COUNT(*) AS `total` FROM `hostPage` WHERE MATCH(?) AND `mime` = ?'); - $query->execute(); + $query->execute([$keyword, $mime]); return $query->fetch()->total; } diff --git a/media/db-prototype.png b/media/db-prototype.png index 4e23c5b804be6c5f91aa251c125004f8a2940d59..0ce16faaa0c70a28589cd7131d477993af4b4e4b 100644 GIT binary patch literal 150680 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'?kW3NE`TXw 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 z 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 z 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 Uv&}a(;?(ZkuBDntHTeC10fxJx{Qv*} literal 137666 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

yw;+_US2K+zZ1DMGhUdsK3S=)wT2|jO~^l$o2tI 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 OnElhjsearchHostImagesTotal(Filter::searchQuery($query, $mode)); - $sphinxResults = $sphinx->searchHostImages(Filter::searchQuery($query, $mode), $page * API_SEARCH_PAGINATION_RESULTS_LIMIT - API_SEARCH_PAGINATION_RESULTS_LIMIT, API_SEARCH_PAGINATION_RESULTS_LIMIT, $sphinxResultsTotal); - - // Make default search request - } else { - - $sphinxResultsTotal = $sphinx->searchHostPagesTotal(Filter::searchQuery($query, $mode)); - $sphinxResults = $sphinx->searchHostPages(Filter::searchQuery($query, $mode), $page * API_SEARCH_PAGINATION_RESULTS_LIMIT - API_SEARCH_PAGINATION_RESULTS_LIMIT, API_SEARCH_PAGINATION_RESULTS_LIMIT, $sphinxResultsTotal); - } + // Make search request + $sphinxResultsTotal = $sphinx->searchHostPagesTotal(Filter::searchQuery($query, $mode), $type); + $sphinxResults = $sphinx->searchHostPages(Filter::searchQuery($query, $mode), $type, $page * API_SEARCH_PAGINATION_RESULTS_LIMIT - API_SEARCH_PAGINATION_RESULTS_LIMIT, API_SEARCH_PAGINATION_RESULTS_LIMIT, $sphinxResultsTotal); // Generate results $dbResults = []; foreach ($sphinxResults as $i => $sphinxResult) { - // Image - if (!empty($type) && $type == 'image') { - - if ($hostImage = $db->getFoundHostImage($sphinxResult->id)) { - - $dbResults[$i] = $hostImage; - - $dbResults[$i]->weight = $sphinxResult->weight; - } - - // Default - } else { - - if ($hostPage = $db->getFoundHostPage($sphinxResult->id)) { + if ($hostPage = $db->getFoundHostPage($sphinxResult->id)) { - $dbResults[$i] = $hostPage; + $dbResults[$i] = $hostPage; - $dbResults[$i]->weight = $sphinxResult->weight; - } + $dbResults[$i]->weight = $sphinxResult->weight; } } @@ -129,13 +106,10 @@ if (API_ENABLED) { 'crawlUrlRegexp' => CRAWL_URL_REGEXP, 'crawlHostDefaultNsfw' => CRAWL_HOST_DEFAULT_NSFW, 'crawlHostDefaultPagesLimit' => CRAWL_HOST_DEFAULT_PAGES_LIMIT, - 'crawlHostDefaultImagesLimit' => CRAWL_HOST_DEFAULT_IMAGES_LIMIT, 'crawlHostDefaultStatus' => CRAWL_HOST_DEFAULT_STATUS, 'crawlHostDefaultMetaOnly' => CRAWL_HOST_DEFAULT_META_ONLY, 'crawlHostPageSecondsOffset' => CRAWL_PAGE_SECONDS_OFFSET, 'crawlHostPageMime' => CRAWL_PAGE_MIME, - 'crawlHostImageSecondsOffset' => CRAWL_IMAGE_SECONDS_OFFSET, - 'crawlHostImageMime' => CRAWL_IMAGE_MIME, 'cleanHostSecondsOffset' => CLEAN_HOST_SECONDS_OFFSET, 'crawlRobotsDefaultRules' => CRAWL_ROBOTS_DEFAULT_RULES, 'crawlRobotsPostfixRules' => CRAWL_ROBOTS_POSTFIX_RULES, diff --git a/public/index.php b/public/index.php index a5dbfb7..6a76ada 100644 --- a/public/index.php +++ b/public/index.php @@ -24,7 +24,6 @@ $placeholder = Filter::plural($totalPages, [sprintf(_('Over %s page or enter the -