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使って一発でここまでできる方法だれか教えてください。
この記事が気に入ったらサポートをしてみませんか?