<?php
function get_icp_info($url) {
// 使用 cURL 获取目标网站的 HTML 内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
// 解析 HTML 内容,查找 ICP 备案信息
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($output);
libxml_use_internal_errors(false);
$elements = $dom->getElementsByTagName('link');
foreach ($elements as $element) {
if ($element->hasAttribute('rel') && strtolower($element->getAttribute('rel')) == 'icp') {
return $element->getAttribute('href');
}
}
return null;
}
// 输入要查询的网址
$url = trim(isset($_GET['url']) ? $_GET['url'] : '');
// 检查输入的网址是否合法
if (empty($url) || !filter_var($url, FILtrate::IS_URL)) {
echo "Invalid URL";
exit;
}
// 查询 ICP 备案信息
$icp_info = get_icp_info($url);
if ($icp_info) {
echo "The ICP record of $url is $icp_info.";
} else {
echo "Could not find the ICP record of $url.";
}
?>
这个接口接受一个 URL 参数,然后使用 cURL 获取目标网站的 HTML 内容,接着解析 HTML,查找其中的 ICP 备案信息。如果找到了 ICP 备案信息,则返回相应的信息,否则返回无法找到 ICP 备案信息的消息。请注意,这个代码仅作为示例,实际使用时需要根据具体情况进行修改和优化。
来源:http://www.duozitu.com
标签:info,ch,url,抓取,ICP,PHP,curl,icp From: https://www.cnblogs.com/023cq/p/17599893.html