使用php提取网址元标记

时间:2019-07-03 07:02:19

标签: php jquery

我想实现类似url提取系统的facebook,我正在使用php CURL提取数据

但是我只获得了少数网站的url数据,而不是所有网站的

这是代码:-

$ch = curl_init();

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $_POST["url"]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$data = curl_exec($ch);
curl_close($ch);

// Load HTML to DOM Object
$dom = new DOMDocument();
@$dom->loadHTML($data);

// Parse DOM to get Title
$nodes = $dom->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;

// Parse DOM to get Meta Description
$metas = $dom->getElementsByTagName('meta');
$body = "";
for ($i = 0; $i < $metas->length; $i ++) {
    $meta = $metas->item($i);
    if ($meta->getAttribute('name') == 'description') {
        $body = $meta->getAttribute('content');
    }
}

// Parse DOM to get Images
$image_urls = array();
$images = $dom->getElementsByTagName('img');

 for ($i = 0; $i < $images->length; $i ++) {
     $image = $images->item($i);
     $src = $image->getAttribute('src');

     if(filter_var($src, FILTER_VALIDATE_URL)) {
         $image_src[] = $src;
     }
 }

$output = array(
    'title' => $title,
    'image_src' => $image_src,
    'body' => $body
);
echo json_encode($output); 

对于少数网址,我获得了诸如标题,描述,图像之类的详细信息,但对于大多数网站,代码未提取任何详细信息,我需要使用诸如jquery之类的客户端语言

0 个答案:

没有答案