Home  >  Article  >  Backend Development  >  PHP regular method to obtain the top 500 Baidu music rankings

PHP regular method to obtain the top 500 Baidu music rankings

PHP中文网
PHP中文网Original
2017-08-19 17:31:471892browse

This article introduces how to use php regular expressions to obtain the top500 data of Baidu music rankings and display it on our own web page.

The code has been successfully debugged by me and can be used as a reference

The code is as follows:

取百度音乐排行榜top500 
<title>百度音乐top500</title>
<style>
body{
font-size:12px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
ul{
clear:both;
padding:0;
margin:0;
list-style:none;
}
#inner{
width:960px;
margin-left:auto;
margin-right:auto;
text-align:center;
}
#tableFrame{
width:960px; /*需要修改*/
border-top:#000 1px solid;
border-left:#000 1px solid;
font-size:12px;
}
#tableFrame:after {
content: "."; 
display: block;
height: 0; 
clear: both; 
visibility: hidden;
}
li{
float:left;
display: block;
width:190px; /*需要修改*/
height:41;
padding:2px;
margin:0;
border-right:#000 1px solid;
border-bottom:#000 1px solid;
line-height:16px;
color:000;
overflow:scroll;
}
/* 表格标题*/
#tableFrameTitle ul{}
#tableFrameTitle ul li{
background:gray; 
text-align:center;
color:#fff;
}
/* 表格内容*/
#tableCase ul{}
#tableCase ul li{}
/* 单个表格特定样式*/
.tableCaseThree{color:#329A02;}
.tableCaseFive{color:#f00;}
.tableCaseSeven{color:#f00;}
</style>
<p id=inner>
<p id="tableFrame">
    <p id="tableFrameTitle">
        <ul>
            <li>排名</li>
            <li>歌名</li>
            <li>排名变化趋势</li>
            <li>红雨</li>
            <li>RedRain</li>
        </ul>
    </p>
    <p id="tableCase">
<ul>
<?php
$contents=file_get_contents("http://music.baidu.com/top/dayhot");
$pattern="{<[^>]+song-title[^>]+><a href=\"(.*)\" title=\"(.*)\">}U";
preg_match_all($pattern,$contents,$out,PREG_PATTERN_ORDER);
$pattern1="{[1-9][0-9]{0,2}.*<i class=\"(.*)\"></i>}U";
preg_match_all($pattern1,$contents,$out1,PREG_PATTERN_ORDER);
$c=0;
for($i=0;$i<500;$i++){
if($c==5){
$c=1;
?>
</ul><ul>
<?php
}else{
$c++;
}
$get=$out[1][$i];
$get1=$out[2][$i];
$get2=$out1[1][$i];
echo "<li>".iconv("utf-8","gb2312",($i+1).".<a href=&#39;http://music.baidu.com$get&#39; target=&#39;_blank&#39;>".$get1."</a><img src=&#39;../$get2.jpg&#39;>")."</li>";
}
?>
</ul>
</p>
</p>
</p>

This article is provided by PHP Chinese website,

Article address: http://www.php.cn/php-weizijiaocheng-377134.html

To learn programming, come to PHP Chinese website www.php.cn

The above is the detailed content of PHP regular method to obtain the top 500 Baidu music rankings. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:What is iterator in phpNext article:What is iterator in php