コード例 #1
-1
 /**
  * @param GoogleDOM $googleDOM
  * @param \DomElement $node
  * @return array
  */
 protected function parseItem(GoogleDOM $googleDOM, \DomElement $node)
 {
     $card = [];
     $xpathTitle = "descendant::a[@class = '_Dk']";
     $aTag = $googleDOM->getXpath()->query($xpathTitle, $node)->item(0);
     if ($aTag) {
         $card['title'] = $aTag->nodeValue;
         $card['url'] = $aTag->getAttribute('href');
         $card['description'] = function () use($googleDOM, $node) {
             $span = $googleDOM->getXpath()->query("descendant::span[@class='_dwd st s std']", $node);
             if ($span && $span->length > 0) {
                 return $span->item(0)->nodeValue;
             }
             return null;
         };
     }
     return new BaseResult('', $card);
 }
コード例 #2
-1
 /**
  * @param GoogleDOM $googleDOM
  * @param \DOMElement $imgNode
  * @return array
  */
 private function parseItem(GoogleDOM $googleDOM, \DOMElement $imgNode)
 {
     $data = ['sourceUrl' => function () use($imgNode, $googleDOM) {
         $img = $googleDOM->getXpath()->query('descendant::img', $imgNode)->item(0);
         if (!$img) {
             return $googleDOM->getUrl()->resolve('/');
         }
         return $googleDOM->getUrl()->resolveAsString($img->getAttribute('title'));
     }, 'targetUrl' => function () use($imgNode, $googleDOM) {
         return $googleDOM->getUrl()->resolveAsString($imgNode->getAttribute('href'));
     }, 'image' => function () use($imgNode, $googleDOM) {
         $img = $googleDOM->getXpath()->query('descendant::img', $imgNode)->item(0);
         if (!$img) {
             return '';
         }
         return MediaFactory::createMediaFromSrc($img->getAttribute('src'));
     }];
     return new BaseResult(NaturalResultType::IMAGE_GROUP_IMAGE, $data);
 }