Example #1
0
<?php

require_once '/var/www/vendor/autoload.php';
use relive\Crawlers\TwitterCrawler;
use relive\Crawlers\InstagramCrawler;
use relive\Crawlers\GPlusCrawler;
$event_id = $argv[1];
$event = \relive\models\Event::find($event_id);
$twitterCrawler = TwitterCrawler::getInstance();
$instagramCrawler = InstagramCrawler::getInstance();
$gPlusCrawler = GPlusCrawler::getInstance();
$hashtagRelationships = \relive\models\EventHashtagRelationship::where('event_id', '=', $event->event_id)->get();
foreach ($hashtagRelationships as $hashtagRelationship) {
    $hashtag = \relive\models\Hashtag::find($hashtagRelationship->hashtag_id);
    $twitterCrawler->popularCrawl($event, $hashtag->hashtag);
    $instagramCrawler->initialCrawl($event, $hashtag->hashtag);
    $gPlusCrawler->initialCrawl($event, $hashtag->hashtag);
}
Example #2
0
<?php

require_once '/var/www/vendor/autoload.php';
use relive\Crawlers\TwitterCrawler;
use relive\Crawlers\InstagramCrawler;
use relive\Crawlers\GPlusCrawler;
$twitter = TwitterCrawler::getInstance();
$instagram = InstagramCrawler::getInstance();
$gplus = GPlusCrawler::getInstance();
class PQCrawlJob extends SplPriorityQueue
{
    public function compare($priority1, $priority2)
    {
        if ($priority1 === $priority2) {
            return 0;
        }
        return $priority1 < $priority2 ? 1 : -1;
    }
}
$crawling = [];
$objPQ = new PQCrawlJob();
$objPQ->setExtractFlags(PQCrawlJob::EXTR_BOTH);
while (true) {
    if ($objPQ->valid()) {
        $top = $objPQ->top();
        $currentTime = time();
        //if top's time is later than current, sleep.
        while ($top['priority'] <= $currentTime) {
            $queueObj = $objPQ->extract();
            $job = $queueObj['data'];
            $event = \relive\models\Event::find($job->event_id);