2chのメニューページ

2chの「カテゴリー」と「板」の一覧データは、メニューページをスクレイピングすれば取得できる。

2chのメニューページURL http://menu.2ch.net/bbsmenu.html

HTMLデータ

2chのメニューページHTMLは、こんなかんじの構造になっている。

<BR><BR><B>スポーツ一般</B><BR>
<A HREF=http://schiphol.2ch.net/sposaloon/>スポーツサロン</A><br>
<A HREF=http://schiphol.2ch.net/sports/>スポーツ</A><br>
<A HREF=http://schiphol.2ch.net/rsports/>懐かしスポーツ</A><br>
<A HREF=http://schiphol.2ch.net/stadium/>スポーツ施設</A><br>

スクレイピング

HTMLをPHPでスクレイピングする。 =正規表現を使ってHTMLから必要部分を抜き出す。

<?php
$url = "http://menu.2ch.net/bbsmenu.html";
$html = file_get_contents($url);
$lines = split("\n", mb_convert_encoding($html, "UTF-8", "SJIS-WIN"));
foreach ($lines as $line)
{
  //カテゴリー名抽出
  if(preg_match("/<BR><BR><B>(.+?)<\/B><BR>/", $line, $match))
  {
    $category = $match[1];
  }

  //板URL抽出
  if(preg_match("/<A HREF=http:\/\/(.+?)\.2ch\.net\/(.+?)\/>(.+?)<\/A>/", $line, $match))
  {
    $server = $match[1]; //サブドメイン ex) live24
    $board = $match[2]; //ディレクトリ ex) eq
    $name = $match[3]; //板名 ex) 臨時地震
    $ita_url = "http://".$server.".2ch.net/".$board."/";
  }
}
?>
更新日:2009-12-19 (土) 00:00:00 (3624d)
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS