前記事:pythonでwebスクレイピング
pythonに挫折した僕はPHPでスクレイピングする。
別にそこまでMGSの情報が欲しいわけでもなかったのだけど。
使い慣れた「simple_html_dom」使う。処理が重たい以外の欠点がない。
というか処理が重いからPython使ってみたかったところもあるが。
ともかく、クッキー渡したことないのでそこをやる。
スクレイピングをしてみよう 認証・リダイレクト回避編(http://www.lesson5.info/?p=203)を参考に進める。
内容は理解してないけど、書いてある通りやって解決↓
<?php include __DIR__."/function/simple_html_dom.php"; $item_url = 'https://www.mgstage.com/search/cSearch.php?search_word=&sort=new&list_cnt=30&range=latest&type=top'; $opts = array( 'http'=>array( 'method' => 'GET', 'header' => "Referer: https://www.mgstage.com\r\n". // リファラーをセット "Cookie: adc=1\r\n") );// 認証のクッキーの名前が「adc」で値が「1」 $context = stream_context_create($opts); $html = file_get_html($item_url, false, $context); foreach ($html->find('div') as $entry) { echo $entry; } ?>
あとはなんやかんやしてXMLに出力。
レンサバのCRON設定で1日1日くらい更新させておく。
エクセルとかに出力して分析するとかならPythonが便利そうではあるけど、レンサバでただただ情報を自動更新させときたいならPHPの方が良い気がする。
というかレンサバ=ウェブサイト=PHPの相性が良い。