/** * @param Crawler $crawler * @return ExtractedStats */ public function extractStats(Crawler $crawler) { $views = intval(str_replace(',', '', StringHelper::filterText($crawler, '.under-title-info span:nth-of-type(2)'))); $stats = new ExtractedStats(); $stats->setViews($views); return $stats; }
/** * @param Crawler $crawler * @return ExtractedOwner */ public function extractOwner(Crawler $crawler) { $owner = new ExtractedOwner(); $owner->setAvatarByUrl($crawler->filter('.project-owner-info img.profile-list-image')->attr('src')); $owner->setName(StringHelper::filterText($crawler, '.project-owner-info .profile-list-name a')); return $owner; }
/** * @param Crawler $crawler * @return ExtractedStats */ public function extractStats(Crawler $crawler) { $stats = new ExtractedStats(); $stats->setDislikes(trim($crawler->filter("*[title='I dislike this']")->text())); $stats->setLikes(trim($crawler->filter("*[title='I like this']")->text())); $stats->setViews(str_replace(',', '', StringHelper::filterText($crawler, ".watch-view-count"))); return $stats; }
/** * @param Crawler $crawler * @return ExtractedAlbum */ public function extract(Crawler $crawler) { $album = new ExtractedAlbum(); $album->setTitle(StringHelper::filterText($crawler, 'title')); if ($crawler->filter("meta[name='description']")->count() > 0) { $album->setDescription($crawler->filter("meta[name='description']")->attr('content')); } $album->setImages($this->extractImages($crawler)); return $album; }
/** * @param Crawler $crawler * @return ExtractedOwner */ public function extractOwner(Crawler $crawler) { $ownerImageProperty = $crawler->filter('.photo-attribution .avatar')->attr('style'); preg_match("/background-image: url\\((.*)\\);/", $ownerImageProperty, $ownerImageOutput); $owner = new ExtractedOwner(); if (count($ownerImageOutput) == 2) { $owner->setAvatarByUrl($ownerImageOutput[1]); } $owner->setName(StringHelper::filterText($crawler, '.owner-name:first-child')); return $owner; }
/** * @return ExtractedStats|null */ public function extractStats() { try { $statsCrawler = $this->getStatsPageCrawler(); $stats = new ExtractedStats(); $stats->setLikes(str_replace(',', '', StringHelper::filterText($statsCrawler, "#like_totals"))); $views = StringHelper::filterText($statsCrawler, "#play_totals"); if (StringHelper::endsWith($views, 'K')) { $views = rtrim($views, "K") * 1000; } $stats->setViews($views); return $stats; } catch (PageNotFoundException $e) { return null; } catch (ServerErrorException $e) { return null; } }
/** * @param Crawler $crawler * @return ExtractedOwner */ public function extractOwner(Crawler $crawler) { $owner = new ExtractedOwner(); $owner->setName(StringHelper::filterText($crawler, '.under-title-info a')); return $owner; }