phpでhtmlスクレイピング

某氏から、妖怪ウォッチのカードゲームの情報サイトから、カードの情報だけCSVに出力できないかとの相談を受けました。

htmlソースを見たら、ポップアップの内容もhtml内に書かれていたので、simple_html_dom.phpが使える!と思い、実装してみました。

<?php
    require 'simple_html_dom.php';
    header('Content-Type: text/html; charset=utf-8');
    $html = file_get_html('http://www.yokai-toritsukicard.com/cardlist/?page=0&search=true&category=265003');
      foreach ($html->find('td') as $cardInfo)
        {
            echo $cardInfo->plaintext;
        }
    $html->clear();
?>

とりあえずテキストデータになりました。
この後、phpだけでCSVまでやりたかったれけどうまくいかなかったので、力技で。
テキストエディタでタブをカンマに置換した後、正規表現検索&置換でID番号っぽいところ(YW......,)の前に改行を追加します。

おー、それっぽくなった。
なんかID番号も置換されちゃったけど、とりあえずできたっぽい。

php使って一発でここまでできる方法だれか教えてください。

この記事が気に入ったらサポートをしてみませんか?