クラン名を取得するページを作成しています。ここで、クラン名が入っている div を受け取る小さなスクリプトを作成しました。その中には 4 つありますが<li></li>
、受け取っているのは 3 つだけです。
これは受け取るべきものです:
クラン: 天国の英雄
レベル: 2433
ランク: 20,120
合計 XP: 328,197,006
しかし、これを受け取ります:
レベル: 2433
ランク: 20,120
合計 XP: 328,197,006
クランを受け取っていないことがわかります。何が間違っているのかわかりません。
次のコードが使用されています。
<?php
$curl = curl_init('http://services.runescape.com/m=adventurers-log/a=134/display_player_profile.ws?searchName=30');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$page = curl_exec($curl);
if(curl_errno($curl)) // check for execution errors
{
echo 'Scraper error: ' . curl_error($curl);
exit;
}
curl_close($curl);
$regex = '/<ul id="generalInfo" data-playername="30">(.*?)<\/ul>/s';
if ( preg_match($regex, $page, $list) )
echo $list[0];
else
print "Not found";
?>
以下は私が取得しようとしているものです
<ul id="generalInfo" data-playername="30"><li><h5>Clan:</h5> <a href="http://services.runescape.com/m=clan-home/a=134/clan/Heroes of Heaven"><strong>Heroes of Heaven</strong></a></li>
<li><h5>Level:</h5> <strong class="stat level">2433</strong></li>
<li><h5>Rank:</h5> <strong>20,120</strong></li>
<li><h5>Total XP:</h5> <strong>328,197,006</strong></li>
</ul>
そしてこれが受け取られている
<ul id="generalInfo" data-playername="30">
<li><h5>Level:</h5> <strong class="stat level">2433</strong></li>
<li><h5>Rank:</h5> <strong>20,119</strong></li>
<li><h5>Total XP:</h5> <strong>328,197,006</strong></li>
</ul>
編集2
$regex = '/<a href"(.*?)">(.*?)<\/a>/s';
欲しいライン:
楽しみのためのNL BE
$regex = '/<strong>(.*?)<\/strong>/s';
欲しいライン:
<strong>NL BE for fun</strong>