ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    2chのDATファイル取得

    このエントリーを含むはてなブックマーク はてなブックマーク - 2chのDATファイル取得 あとで読む
    2chの過去ログは、金を出せば読める。
    しかし、わざわざ2chのゴミデータに金を出す価値はあるのだろうか?
    =CGMサイトを作る場合は、擬似的なユーザーデータとして再利用できるかもしれない。

    モリタポ - Wikipedia

    モリタポとは、未来検索ブラジル社が提供する、電子通貨の一種である。
    1モリタポは0.1円、すなわち10銭に相当する。
    一回の検索は10モリタポ必要なので、1円となる。


    p2.2ch.net
    ASP形式のweb2chブラウザである。
    モリタポアカウントでログインし、スレッドの検索・閲覧が可能。
    年間1000モリタポを支払うことにより通常の2chブラウザと同じように書き込むことができる。



    モリタポFAQ - 検索の料金について知りたい

    スレッド名検索 0モリタポ、
    本文検索 10モリタポ、
    投稿者検索 10モリタポ
    ID検索 47モリタポ、
    DAT表示機能 (通称●) 50モリタポに
    なります。



    ●2chの過去ログ保管サイト
    http://www.23ch.info/など、いろいろ

    ●PHPで2chのDATファイル取得
    2ちゃんねるの subject ファイルや dat ファイルを直接取得する
    ↑スレタイとDATのデータ構造。
    ファイル名は、UNIXのタイムスタンプになっている。

    PHPとMySQLで2chビューアを作る
    ↑PHPのサンプルコードあり。
    PEARのHTTP_Requestを使用。

    subject.txt、DAT 取得方法

    GETする際に UserAgent を以下のように設定しないとサーバーから弾かれます。
    User-Agent: Monazilla/1.00 (toolname/ver)
    UA の "Monazilla/1.00" の部分がキーであり、ここが間違っていると取得できません。なお、このキーはひょっとしたら変更されるかもしれません。変更は 運営側で行われます。


    =ずっと人大杉ページが返されて、DATファイルが取得できないサーバーがあった。

    2chのスレッドをPHPで取得する方法

    肝心の以下に2chの情報を取得するか?ですが、
    ユーザーエージェントで判断されています。
    ソケット通信で、
    $request .= "User-Agent: Monazilla/1.00 (kanata/1.00)\r\n";
    のようにユーザーエージェントを指定して下さい
    必須は「Monazilla」の部分です。
    これは2chブラウザなどの専用ツールであることを意味しています。


    リクエストのヘッダーにユーザーエージェントとして、専ブラであることを示す「Monazilla」を明示することがポイントとのこと。

    ●PHPの2chビューアー
    p2 - PHPでつくった2ch Viewer

    Webブラウザから 2ちゃんねる、まちBBS、JBBS@したらばBBS 等の掲示板を快適に閲覧するためのPHPスクリプトです。



    rep2 機能拡張パック

    p2 - PHP でつくった 2ch Viewer に便利な機能やおもしろい機能を追加した Web アプリです。



    ●P2PでDATファイルを共有するツール
    o2on

    datファイルを共有するP2Pソフト



    1スレのデータ量は512KBが上限。
    2chの全過去ログは、600GB程度という試算があった。
    =500GBのHDDを2個ほど使えば納まるサイズだ。

    総スレッド数は100万個以上、全レス数は10億個以下かな?
    (日本人一人当たりだと10レス)
    もっとでかいイメージがあるけど、意外と小さいんだな。
    ROM専門って人もいるだろうけど。

    2ちゃんねるはなぜ潰れないのか? (扶桑社新書)2ちゃんねるはなぜ潰れないのか? (扶桑社新書)
    (2007/06/29)
    西村 博之

    商品詳細を見る

    WEBページのソースを取得する方法

    POSTでデータを送りたい場合はfsockopenを使うのが普通かな?と思います。


    -------------------------------------------------------------
    $path = "/kotaeru_reply.php3";
    $host = "okwave.jp";

    $postData[] = urlencode("a") . "=" . urlencode("A");
    $postData[] = urlencode("b") . "=" . urlencode("B");
    $postData[] = urlencode("c") . "=" . urlencode("C");

    $queryData = join("&",$postData);
    $length = strlen($queryData);

    $header[] = "POST {$path} HTTP/1.0";
    $header[] = "Accept: */*";
    $header[] = "Accept-Language: ja";
    $header[] = "Content-type: application/x-​www-form-urlencoded";​
    $header[] = "Connection: Keep-Alive";
    $header[] = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
    $header[] = "Host: {$host}";
    $header[] = "Content-Length: {$length}";
    $header = join("\n",$header);

    $request = "{$header}\n\n{$queryData}\n\n";

    $fp = fsockopen($host,80);
    fputs($fp,$request);
    while($tmpData = fgets($fp,4096)){
    $getData .= $tmpData;
    }
    fclose($fp);

    list($head,$body) = preg_split("/\\\n\\\n/",$getData,2);

    echo $body;
    ?>
    ----------------------------------------------------------

    こんな感じでしょうか。

    #pearにHTTP::Requestというモジュールがあって、それが結構使われるようです。

    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/283-62dec5a3

    FC2Ad