PHP,MySQL,Flexな日々+イラストとか このページをアンテナに追加 RSSフィード

2007-11-27 phpと外部プログラムを使用してサイトをキャプチャー+α

phpでニコニコ動画のflvファイルをゲットする方法

| 20:21 | phpでニコニコ動画のflvファイルをゲットする方法 - PHP,MySQL,Flexな日々+イラストとか を含むブックマーク phpでニコニコ動画のflvファイルをゲットする方法 - PHP,MySQL,Flexな日々+イラストとか のブックマークコメント

簡単にfunction化しました。

<?php //get nico flv

function get_nicoflv( $id ){

    //$id = "sm1580278";
    /**
     * @see http://blog.livedoor.jp/dankogai/archives/50900305.html
     */

    //extension=php_openssl.dll
    //extension=php_curl.dllをphp.iniにて有効にしておく

    $mail = 'めーる';
    $pwd  = 'ぱすわーど';

    require_once 'HTTP/Client.php';
    $argv[1] = $id;

    $conf = array('mail' => $mail, 'password' => $pwd);
    preg_match('/(sm\d+)$/', @$id, $matches);
    $video_id = $matches[1];
    $client = new HTTP_Client();
    $client->setDefaultHeader('Keep-Alive', 4);

    $client->post('https://secure.nicovideo.jp/secure/login?site=niconico', $conf);
    $res = $client->currentResponse();

    $client->get("http://www.nicovideo.jp/watch/{$video_id}");
    $client->get("http://www.nicovideo.jp/api/getflv?v={$video_id}");
    $res = $client->currentResponse();
    parse_str($res['body'], $q);
    $url = @$q['url'] or die('Failed: ' . $res['body']);

    $client->get($url);
    $res = $client->currentResponse();
    file_put_contents("./{$video_id}.flv", $res['body']);
}
?>

2007-11-21 ニコニコ動画をPHPで検索

ニコニコ動画検索をPHPで

| 02:07 | ニコニコ動画検索をPHPで - PHP,MySQL,Flexな日々+イラストとか を含むブックマーク ニコニコ動画検索をPHPで - PHP,MySQL,Flexな日々+イラストとか のブックマークコメント

ニコニコ動画の検索APIを見つけたので早速PHPで使えるようにしてみました。

って単なるRSS解析です。

<?php //ニコニコ動画ゲット

//検索キーワード
$_GET['query'] = "ハルヒ";

//URL作成
$query  = urlencode( mb_convert_encoding( $_GET['query'] , "UTF-8" , "SJIS" ) );
$url = "http://zio3.net/nicoRss/Search.ashx?p={$query}";

//XMLとしてファイル取得
$file = file_get_contents( $url );

//XML解析
$xml = simplexml_load_string( $file );
foreach( $xml->channel->item as $key => $val ){
    $MAIN .= <<<EOD
{$val->title}
{$val->description}
<hr>
EOD;
}
echo mb_convert_encoding( $MAIN , "SJIS", "UTF-8");
exit;

?>

ちなみにニコニコ動画をダウンロードする方法 by PHP

検索した動画をゲットする方法はこちらが便利です。

http://puchiko.lowtech.ne.jp/?itemid=1071&catid=26

http://blog.livedoor.jp/dankogai/archives/50900305.html

使用してて気をつけるところは、phpの拡張機能をいくつか有効にします。

curl,opensslです。opensslを有効にしてなくてちょいハマッたよ( -.-)ノ

php.iniの中のextentionで上記の二つを有効にしてapacheの再起動でOKです。

wozozowozozo 2007/11/22 02:18 これ動きます?
$query = urlencode( mb_convert_encoding( $_GET[’query’] , ”UTF-8” , ”SJIS” ) );
の部分の第3引数を無くすとちゃんと検索結果取得できたんですけど、SJISだと自分の環境だと動かなかったです。

Macだからなのかもしれないですけど。

aomori-ringoaomori-ringo 2007/11/22 14:37 第3引数 ”auto” で動きました。

haru-komugiharu-komugi 2007/11/23 09:21 書き込みありがとうございます。
macですと文字コードがおそらくUTF-8なのでmb_convertの部分はいらないかもです。
また、aomori-ringoさんのようにautoでもOKです。ってこっちのほうがいろんな環境でもOKなのでいいっすね。>情報ありがとう。

Axe1lyzeAxe1lyze 2011/09/24 00:52 JavaScript向けですが、ニコニコ動画の検索APIを作成しました。よろしかったらお使いください。

詳細はこちら
http://axe1lyze.blogspot.com/2011/09/api.html

Axe1lyzeAxe1lyze 2011/09/24 01:50 XMLも使えるようにしておきました。