第3回Webスクレイピング勉強会@東京(最終回)に参加しました
参加したのでメモ。
ちなみに今回が最終回で4回目の予定はないとのこと。
メモは自習用に書いているので発表資料に沿っていないものもあります。
発表資料はconnpassのページに全てあがっています。
togetterもあります。
クローリングしにくいものに挑戦(@lumin)
@luminさんの資料は後半ほとんど非公開になっている。
闇実装なので仕方がないところもありますが、資料を見てブログ(復習)を書こうと思っていたので当てが外れました。。
- wgetはクローラで最も基本となるツール、curlは再帰で使えないのでクローラとは呼べない、UAをブラウザにするとか、Cookieに対応するとかはクローラ作りでは常套手段
- クローリングしにくいのはHttpsのようなProxy、WebSocket(最近少し下火)、SPDYはGoogleの開発した次世代のHTTPプロトコル
- 特定されないようにしたい、匿名クローリングするにはTorを使う
- クローリングしにくいページ
- JavaScriptの動的コンテンツはページが読み込まれないと情報が取得できないので、ヘッドレスブラウザやブラウザでクローリングを行う、ブラウザはFirefoxがおすすめ
- CasperJS
- ガラケーのサイトはキャリアのIPアドレスに制限されているものがある
- スマホサイトはUAをJavaScriptで取得していたり、縦横表示の切り替え(Orientation)で判定しているためUAを偽造するだけではうまくいかない
- 課金ダウンロードサイトはダウンロードするまで待たされるので、それが嫌なら課金してしまう
- JavaScriptの動的コンテンツはページが読み込まれないと情報が取得できないので、ヘッドレスブラウザやブラウザでクローリングを行う、ブラウザはFirefoxがおすすめ
- 日本と外国からではインターネットの見え方が異なる
- P2PクローラでWinnyやShare、BitCoinなどののクローリングを行っている
- Flashのスクレイビングは逆コンパイルで行う、ゲームのチートを取得したりする
- データの保管はどうやっているのかという質問
- MySQLに入れるとかKVSに入れるとか色々やっているが、KVSは大量データに向いていない、TBオーダーになると厳しい
ソーシャルスクレイビング(仮)(@YuzoAkakura)
@nezuqさん曰く、これまでの勉強会では技術がメインで事例についての発表がなかった。
最近、データジャーナリズムというのが注目されており、データジャーナリズムの第一人者である@YuzoAkakuraさんに発表をお願いしたとのこと。
- データジャーナリズムとは「データからニュースを発見し、わかりやすく伝える手段」
- New York Times
- 全米の水質に関する2009年の調査報道
- 水質データを地図にマッピングすることで、汚染水を垂れ流していた企業、施設を特定
- これまでの報道は記事を書いて終わりだったので伝わりずらい
- 地図上に表現されることで住んでいる地域がどうなのか身近な問題として捉えやすくなる
- データジャーナリズムが注目されたのはWikiLeaksが注目された時期と重なる
- データジャーナリズムのリソースはソーシャルメディア、オープンデータ(政府、自治体、企業)、センサーデータなどの多種多様かつ膨大なデータであり、日々生み出され続けている
- データジャーナリズムはニュースの表現方法、発見方法、制作プロセスに革新を起こしている
- ニュースの表現方法はこれまでテキスト中心であったが地図や動画、アニメーションなどの多様な表現を組み合わされるようになった
- ニュース発見方法は取材対象として「データ」がより重視されるようになった
- ニュースの制作プロセスでは制作過程の分業が浸透してきた
- ProPublicaやICIJなどの報道団体がある
- データジャーナリズムのポイントはデータを探すこと
- なければ自前で作る(Webスクレイピング)
- ソーシャル・スクレイピング=社会との関わりを持ったWebスクレイピング
- Journalism Innovation Awardを企画している
- 切り口として社会性の高い新事実を発見する、社会常識を覆す、嘘を暴くなどがある
- QAでアジア大会のバドミントンはデータジャーナリズムになるのではないかという話があった
- データジャーナリズムは誰でも挑戦できる
- 公開データ、OSS、Webの活用
- 切り口として社会性の高い新事実を発見する、社会常識を覆す、嘘を暴くなどがある
- データジャーナリズムは技術者が不足しているので興味がある方は試してほしい
LT
AWSを利用してスクレイピングの悩みを解決するチップス(@dkfj)
「Rubyによるクローラー開発技法」の著者である@dkfjさんの発表。
書籍でいうと「6-4 クラウドを活用する」に書かれている内容です。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: 佐々木拓郎,るびきち
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/22
- メディア: 単行本
- この商品を含むブログ (9件) を見る
じっくりと読めていませんが@luminさんの発表にあったJavaScriptのページのスクレイビングについての解説もあり、Webデータを取得したい人にとってはとても参考になります。
- データ収集の課題
- AWS(EC2, S3, SQS)で解決できる
- EC2を並べて稼働
- EC2の処理結果をS3に集約
- SQSでジョブ制御
- 巡回先サイトに配慮する
- 巡回する時間間隔を空ける(1秒ルール)
- 同一サイトを対象にする場合は多重度をあげない
- Robots.txtに従う
私が開発しているhappyou.infoについて(@shogookamoto)
次回があれば肝となる抽出手法の発表を聞きたい内容。
学術研究では半構造データのマイニング、繰り返し構造のマイニングという分野かと思われます。
なんでもRSSを開発した東工大 奥村研が国内では第一人者ですが、なんでもRSSは10年ぐらい前のツールなので最新の研究動向はどうかなと思います。