function crawl_price($provider) { switch ($provider) { case 'Amazon': return crawl_amazon(); break; case 'Walmart': return crawl_walmart(); break; case 'Toysrus': return crawl_toysrus(); break; case 'BN': return crawl_bn(); break; case 'Target': return crawl_target(); break; case 'LegoShop': return crawl_lego(); break; default: # code... break; } }
<?php require_once "crawlers.php"; require_once "db_handler.php"; require_once "twitter_handler.php"; $WalmartIDs = array(); $ret = db_query("Walmart_Item LEFT JOIN DB_Set ON Walmart_Item.LegoID = DB_Set.LegoID LEFT JOIN DB_Theme ON DB_Set.ThemeID = DB_Theme.ThemeID", array("WalmartID", "Walmart_Item.LegoID AS LegoID", "ETitle AS Title", "ETheme AS Theme", "Walmart_Item.Availability AS Availability", "Price", "USPrice AS MSRP"), null); if (!$ret->{'Status'}) { foreach ($ret->{'Results'} as $item) { $idx = $item->{'WalmartID'}; $WalmartIDs["{$idx}"] = $item; } } echo "[Info][" . date('Y-m-d H:i:s') . "] " . count($WalmartIDs) . " items loaded from DB Table Walmart_Item\n"; $ret = crawl_walmart(); if ($ret->{'ItemCount'}) { $WalmartItems = $ret->{'Items'}; } echo "[Info][" . date('Y-m-d H:i:s') . "] " . count($WalmartItems) . " items crawled from page " . $ret->{'URL'} . "\n"; if (count($WalmartItems) < count($WalmartIDs) * 0.6) { send_Message(NOTIFICATION_RECIPIENT, "Only " . count($WalmartItems) . " items crawled from walmart.com, out of " . count($WalmartIDs) . " items in DB."); } $arrNoupdate = array(); foreach ($WalmartItems as $item) { $walmartID = $item->{'WalmartID'}; if (isset($WalmartIDs["{$walmartID}"])) { $info = $WalmartIDs["{$walmartID}"]; $msrp = $info->{'MSRP'}; $price = $item->{'Price'}; if ($msrp && $price) { $rate = round($price / $msrp * 100, 2);