2017-12-04 6 views
0

私はwww.dotabuff.comからスチームIDのリストを取得しようとしていますが、私はあなたの探しているものを見つけることができません! "CURLはこのウェブサイトからデータを取得しません

目標はウェブサイトに行き、自分のスチームIDでプレーヤーを検索し、勝率を抽出することです。

(これはドットリストを気にしない非常に小さなリストを対象としています)。ここで

は(静的蒸気IDを持つ例)私のコードです:

//create array of data to be posted 
$post_data['utf8'] = '✓'; 
$post_data['q'] = '76561198055615656'; 
$post_data['commit'] = 'Search'; 

//traverse array and prepare data for posting (key1=value1) 
foreach ($post_data as $key => $value) { 
$post_items[] = $key . '=' . $value; 
} 

//create the final string to be posted using implode() 
$post_string = implode ('&', $post_items); 

//create cURL connection 
$curl_connection = 
curl_init('https://www.dotabuff.com//'); 

//set options 
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($curl_connection, CURLOPT_USERAGENT, 
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); 
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1); 

//set data to be posted 
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string); 

//perform our request 
$result = curl_exec($curl_connection); 
echo $result; 

//close the connection 
curl_close($curl_connection);  
+0

これはスクラップしたい実際のページですか、APIですか?ページまたはAPIドキュメントを投稿してください。 –

+0

クイック検索[TOSに対して可能性が高い]ランダムページをスクラップする代わりに、[Valveの公式のDota2マッチ履歴APIの使用を推奨](https://dev.dota2.com/showthread.php?t=47115)。 – orhtej2

答えて

0

あなたが検索を行うためにカールしてPOSTを使用しますが、検索フォームがGETを使用しているDotabuffのウェブサイトを見ているので、私ウェブサイトがPOST varsの代わりにGET varsを探していると思われます。私はこれをテストしていませんが、私はhttps://www.dotabuff.com/search?q=76561198055615656(POSTFIELDSなし)へのカールリクエストを行い、それがあなたに何を与えるかを見てみることをお勧めします。

0

URLを使用せずにカールを初期化するか、GETバージョンのURLを組み立ててサイトに投稿してください。

たとえば、ユーザー 'USH!'に関する情報が必要な場合は、 (私はランダムに選択した)。あなたが合成したいURLは次のようになります。

https://www.dotabuff.com/search?utf8=%E2%9C%93&q=USH%21&button= 

IのGET URI安全な文字列にプレイヤーIDを変換するでurlencodeを使用することをお勧めし

例:

$safe_player_id = urlencode($player_id) 

$URI = sprintf("https://www.dotabuff.com/search?q=%s&button=",$safe_player_id); 

または、あなたの場合彼らのプレーヤーのIDコード(int)を知っていれば、これは統計のページを取得するために働くでしょう(この作品):

https://www.dotabuff.com/players/76561198055615656 

Th必要なものだけページを解析する必要があります。

関連する問題