예제 #1
0
 public function getLink(array $linkData, Domain $domain, Link $origin)
 {
     $deriver = new \webignition\AbsoluteUrlDeriver\AbsoluteUrlDeriver($linkData['href'], $origin->getLinkHref());
     $link = new Link((string) $deriver->getAbsoluteUrl());
     $link->setOriginDomain($domain);
     $link->setLinkText($linkData['text']);
     $link->setOrigin($origin);
     return $link;
 }
예제 #2
0
 public function isValid(Link $link)
 {
     return preg_match($this->evil_pattern, $link->getLinkHref()) === 0;
 }
예제 #3
0
 public function isValid(Link $link)
 {
     return $link->getLinkHref() === 'http://dmoz.com/';
 }
예제 #4
0
 public function isValid(Link $link)
 {
     return strpos($link->getLinkHref(), 'yolo') !== false;
 }
예제 #5
0
 private function downloadPage(Link $link, &$process)
 {
     $response = null;
     try {
         $response = $this->downloader->download($link->getLinkHref(), $this->download_tries);
     } catch (DownloadException $e) {
         $link->setStatusCode(69);
     }
     $this->dispatcher->dispatch(CrawlerEvents::onPageDownload, new FilterPageResponseEvent($link, $response, $process));
     return $response;
 }