次のように、allrecordlabels.com を米国の州 (アラバマ、カリフォルニア、ニューヨーク、ミシシピ、テネシー、ノース、サウスカロライナ、ジョージア) とジャンル別にクロスリストしたいと思います。
A1 LABEL NAME / B1 STATE NAME / C1 MUSICAL GENRE(S) (および追加方法を知っている場合: D1 レーベルの連絡先の電子メールは、いくつかのレーベルのページで見つけることができます) 次に、列ごとにアルファベット順のリストを作成します。
1 つのレーベルに複数のジャンルがある場合は、それらを同じ列に積み重ねることができます。
ここで私たちが取り組んだいくつかのコード:
<?php
$labelsData = array();
$stateListPage = file_get_contents('http://www.allrecordlabels.com/db/state/');
preg_match_all('#<li> <a href="([A-Z]+)\.html">([a-zA-Z ]+)</a></li>#',
$stateListPage,
$statePagesURL);
foreach($statePagesURL[1] AS $statePageURL) {
$statePage = file_get_contents('http://www.allrecordlabels.com/db/state/' .
$statePageURL . '.html');
preg_match('#<h2>State ([a-zA-Z ]+)</h2>#', $statePage, $state);
$state = $state[1];
preg_match_all('#<li><a href="https?://.+\.[a-z]{2,5}">([^<]+)</a>#',
$statePage, $labelsFound);
foreach($labelsFound[1] AS $label) {
if(!isset($labelsData[$label]))
$labelsData[$label] = array('state' => $state);
else
$labelsData[$label]['state'] .= ' - ' . $state;
}
}
/*
$genreListPage = file_get_contents('http://www.allrecordlabels.com/db/genres/');
preg_match_all('#<li> <a href="([^\.]).html">([a-zA-Z /-]+)</a></li>#',
$genreListPage, $genrePagesURL);
print_r($labelsData);*/
?>
これらの情報はすべてリストされており、Web サイトに簡単にアクセスできます。このスクリプトを機能させるのを手伝ってもらえますか? どうすれば Excel に転送できますか?
ありがとう
ジャンル別レーベル : http://www.allrecordlabels.com/db/genres/
状態http://www.allrecordlabels.com/db/state/
州別のラベル:
アラバマhttp://www.allrecordlabels.com/db/state/AL.html
ミシシピhttp://www.allrecordlabels.com/db/state/MS.html
テネシーhttp://www.allrecordlabels.com/db/state/TN.html
ノースカロライナhttp://www.allrecordlabels.com/db/state/NC.html
サウスカロライナhttp://www.allrecordlabels.com/db/state/SC.html
ジョージアhttp://www.allrecordlabels.com/db/state/GA.html