2011-06-22 8 views
-2

Ipad用のUser-Agentを使用してサイトをスクラップするにはどうすればよいですか?Ipad用のUser-Agentを使用してサイトをスクラップする方法は?

以下のコードはPHPでcurlを使用してソースを出力しますが、タグはまだ見つかりません。 Ipad User-Agentを使用するIpadまたはSafariブラウザでは、サイトが読み込まれるとタグが表示されます。

ありがとうございます!

<?php 
    $useragent= "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10')"; 

    $ch = curl_init ("http://www.cbsnews.com/video/watch/?id=7370279n&tag=mg;mostpopvideo"); 

    curl_setopt ($ch, CURLOPT_USERAGENT, $useragent); // set user agent 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
    // curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
    echo $output = curl_exec ($ch); 

    curl_close($ch); 
?> 
+0

あなたの質問は非常に明確ではありません、あなたはWebページから_scrape_ために何したいですか? iPad UAでリクエストされたときにどうしたらいいですか? –

+0

USER_AGENTパラメータでcurlでリクエストする場合、CURLOPT_USERAGENTの内容はHTTPリクエストのヘッダを定義します。上記のコードは出力をスクラップしません。iPadの出力をスクラップする機能は、リクエストされたURLにあるはずです。 – mahadeb

+0

@james

答えて

4

このようなperlスクリプトで、コマンドラインからカールを使用してみてください:

my $ua = "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10"; 
my $curl = "curl -A '$ua'"; 
my $server = "http://www.cbsnews.com"; 
my $startpage = "$server/video/watch/?id=7370279n&tag=mg;mostpopvideo"; 
my $path = "/path/to/download/to"; 
open(f, "$curl -L $startpage |") or die "Cannot open website: $!"; 
while (<f>) 
{ 
    if (/<a\s+[^>]*href=\"$server\/([^\"\/])*\"/) 
    { 
     my $file = $2; 
     system("$curl -e $startpage $server/$file > $path/$file"); 
     next; 
    } 

    if (/<a\s+[^>]*href=\"$server\/([^\"]+)\/([^\"\/])*\"/) 
    { 
     my $folder = $1; 
     my $file = "$folder/$2"; 
     system("mkdir -p $path/$folder"); 
     system("$curl -e $startpage $server/$file > $path/$file"); 
     next; 
    } 
} 
close(f); 
+0

こんにちはNicholas、私はあなたのコードを試してみました私にこのエラーメッセージを与える "カール:URLは指定されていません!curl:" curl --help 'または' curl --manual 'ファイルを作成し、コマンドラインにロードします。 – steamboy

+0

タイプミスがありました。私はそれを修正しました、申し訳ありません。 –

関連する問題