Extraire les Noms de Domaine d’une liste d’URL

La fonction PHP

Cette fonction permet d’extraire le nom de domain avec son sous-domain

function get_domain($url) {
$domain = parse_url(ereg_replace('www\.','',$url));
return (empty($domain["host"])) ? $domain["path"] : $domain["host"];
}

Exemple pour obtenir rapidement les domaines d’une liste d’urls:

<code><?php
$urls=explode("\r\n", file_get_contents('urls_list.csv'));
$urls=array_unique(array_map('get_domain', $urls));
print_r($urls);

La fonction mySQL

CREATE FUNCTION domain_of_url (url varchar(255))RETURNS varchar(255)RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(TRIM(LEADING"https://" FROM TRIM(LEADING "http://" FROM TRIM(url))), "/", 1), ":",1), ".", IF(url LIKE "%.org.__%" OR url LIKE "%.net.__%" OR url LIKE"%.com.__%" OR url LIKE "%.__.us%" OR url LIKE "%.co.__%" OR url LIKE"%.__.uk%", -3, -2) );

Source : http://forge.mysql.com/tools/tool.php?id=20

Utilisation:

SELECT domain_of_url(`url`) FROM t_url;

SELECT DISTINCT domain_of_url(`url`) FROM t_url;

One Reply to “Extraire les Noms de Domaine d’une liste d’URL”

Comments are closed.