4

给定一家知名公司的 URL(例如http://mcdonalds.com/),您将如何自动且可靠地找到公司名称(在本例中为“Mc Donalds”)?

谢谢

编辑:有人投票结束了这个问题,所以也许我需要解释一下动机。我有大量公司 URL,我想使用 Google 地图查找有关每家公司的数据。使用公司名称搜索 Google 地图比使用 URL 更有效。

删除“http”和“com”在很多情况下确实有效,特别是对于知名公司,但不是全部。我发现whois记录不是很有帮助。

我希望有某种公共数据库将公司与 URL 相匹配,但到目前为止还没有遇到过。

4

7 回答 7

2

您将需要创建自己的查找表:您必须尝试从 URL 处的 html 解析此信息以获得最准确的数据,例如:获取 Html 页面标题,或查找版权消息?

于 2009-11-10T12:53:04.803 回答
1

他们很可能会将它包含在<title/>元素中。解析它并将其与网站的域进行比较。如果有明显的重叠,那就是你的匹配。如果没有,请尝试对标题进行一些启发式方法(例如名称是之前的所有内容>>等)。

如果它是一家较大的公司,那么您也可以幸运地查看其域的 NIC 条目(又名 Whois)。

于 2009-11-10T12:54:15.220 回答
1

Whois数据库可能会有所帮助,但总会有一些边缘情况需要您更加努力地处理。

于 2009-11-10T12:56:51.200 回答
1

如果你想准确,我会说亚马逊机械土耳其人。

于 2009-11-10T12:59:30.523 回答
1

尝试使用 cURL 和 DOMDocument。

<?php

    $ch = curl_init();
    $site = "http://mcdonalds.com/";
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $site);
    $result= curl_exec($ch);
    curl_close($ch);        

    $dom = new DOMDocument();
    @$dom->loadHTML($result);
    $title = $dom->getElementsByTagName("title");
    echo $title->item(0)->nodeValue;
    
?>

看一下元标记<meta name="author" content="McDonald's Corporation" >

于 2009-11-10T13:05:42.127 回答
1

另一种选择是使用 API,例如https://developer.tuxx.co.uk/api-overview/company-name-api。在这里,您可以输入一个 URL,它会提取最可能的公司名称。

于 2020-06-19T17:52:13.920 回答
0

您可以使用whois信息。应该有图书馆让你以一种干净的方式做到这一点。你没有提到你将使用什么类型的技术......

于 2009-11-10T12:56:23.830 回答