0

プレイヤーのスチームプロファイルから画像を取得して自分のサイトで使用したいので、画像や写真を変更すると変更されます。

これは一度にロードされるものであり、ロードするときに最新のURLを取得します。このURLをテストに使用できます。必要なのは、このクラスでdiv内の画像のURLを取得することです。画像のURLのみをコピーします。

テストsteamprofileへのリンク:http ://steamcommunity.com/profiles/76561197991341238

私が試したコード:

foreach($html->find('div[class=avatarFull]') as $div) 
{     
    foreach($div->find('img') as $img)
    {
        echo "<img src='" . $img->src . "'/>";          
    }
}
4

3 に答える 3

3

Steam Web API(ドキュメント)を使用し、HTMLを破棄せずに機能するGetPlayerSummariesメソッド

于 2013-01-06T16:49:37.193 に答える
0

koraktorのSteamCondenser使用すると、この情報を簡単に取得して使用できます。

require_once('steam/db.php');
$_STEAMAPI = "YOURAPIKEYHERE";   // You get this from http://steamcommunity.com/dev/apikey
$playersStr = "";                // This is a comma separated list of profile IDs
                                 // if you don't have those, Steam Condenser has functions to acquire it
$players = array();              // For this example, I'm building an array of players assuming you'll have multiple players returned. 
                                 // You are free to skip this if you are only pulling one back
$url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=$_STEAMAPI&steamids=$playersStr";
$json_object= file_get_contents($url);
$json_decoded = json_decode($json_object);

foreach ($json_decoded->response->players as $player)
{
    $players[$player->steamid]['personaname'] = $player->personaname;     // In game name
    $players[$player->steamid]['profileurl'] = $player->profileurl;       // URL to their Steam Community Page
    $players[$player->steamid]['avatar'] = $player->avatar;               // Small Avatar Icon URL
    $players[$player->steamid]['avatarmedium'] = $player->avatarmedium;   // Thumbnail avatar URL
    $players[$player->steamid]['avatarfull'] = $player->avatarfull;       // Full sized Avatar URL
}    

プレイヤーのプロファイルIDを持っていないが、Steam IDを持っている場合は、次のようにプロファイルIDを取得できます。

$profile_id = SteamId::convertSteamIdToCommunityId($steam_id);
于 2013-03-11T03:23:03.453 に答える
-2

RegExpreg_match)はそれを行うためのより簡単な方法だと思います

$html = file_get_contents("http://steamcommunity.com/profiles/76561197991341238");
preg_match('/<div class="avatarFull"><img src="(.*)" \/><\/div>/i', $html, $profile_picture); // $profile_picture[1]; is the url itself

同じURLから複数の画像を取得しようとしている場合は、に置き換えpreg_matchpreg_match_allループを実行します$profile_picture[1]

于 2013-01-06T16:58:26.317 に答える