1

我想按美国各州(阿拉巴马州、加利福尼亚州、纽约州密西西比州田纳西州、北卡罗来纳州、南卡罗来纳州和乔治亚州)和流派交叉列出 allrecordlabels.com,如下所示:

A1 LABEL NAME / B1 STATE NAME / C1 MUSICAL GENRE(S) (如果你知道如何添加:你可以在一些标签的页面上找到标签的 D1 联系电子邮件)然后按列按字母顺序列出。

如果标签有多种类型,您可以将它们堆叠在同一列中。

这是我们处理的一些代码:

 <?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);*/

?>

所有这些信息都在网站上列出并易于访问。你能帮我让这个脚本工作吗,我如何在 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

纽约http://www.allrecordlabels.com/db/state/NY.html

加利福尼亚http://www.allrecordlabels.com/db/state/CA.html

4

0 回答 0