如果有人想要搜索其他网站以获取信息,那么如何使用php进行此操作呢?
很抱歉,让我澄清一下,因为这是相当含糊的:假设我有一个带复选框的用户输入字段,用户选择一个选项并提交,存储在其中,让我们说$variabletest
。现在我想搜索$variabletest == tags
的X站点。用户在X网站上传的视频标签中的标签,X网站是预定的,毫无疑问不止一个网站。
我希望这澄清一下,我擅长编程与sql的社区,而不是应用程序创建:P但我想我想知道什么是最好的方法,通过meta标签搜索?我不需要为我编写的所有代码,只是在正确的方向上大小合适。提前致谢
我可以说,有7个视频网站。我的用户通过复选框选择他们希望在视频中看到的内容,我的php脚本基本上“抓取”了7个站点和sesrches中的每个站点,以便我的用户选择。也许是通过视频上的标签或甚至是metas。这就是我的困境
答案 0 :(得分:1)
这可以帮到你:
// assuming an array of urls such as $urls = array("http://...","http://...")
// could easily be modified to use urls from a database output
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
for each ($urls as $url){
$html = file_get_contents_curl($url);
//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
//get and display what you need:
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'description')
$description = $meta->getAttribute('content');
if($meta->getAttribute('name') == 'keywords')
$keywords = $meta->getAttribute('content');
}
echo "Title: $title". '<br/><br/>';
echo "Description: $description". '<br/><br/>';
echo "Keywords: $keywords";
}