2chの過去ログ取得

ジャンルと板のデータ取得

2chの第2階層と第3階層のデータを取得する。

データのある場所

http://menu.2ch.net/bbsmenu.html
これをスクレイピングして、ジャンルと板のデータを取得する。

スクレイピング処理

HTMLはこんなかんじの構造になっている。

  0
  1
  2
  3
  4
<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>

PHPで処理する場合

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
<?php
$url = "http://menu.2ch.net/bbsmenu.html";
$html = file_get_contents($url);
$lines = split("\n", mb_convert_encoding($html, "UTF-8", "SJIS"));
foreach ($lines as $line)
{
  //ジャンル名抽出
  if(preg_match("/<BR><BR><B>(.+?)<\/B><BR>/", $line, $match))
  {
    $genre = $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."/";
  }
}
?>

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-01-20 (日) 23:30:04 (2124d)