happyou.infoのブログ

ニュース収集サイトhappyou.infoのブログです。 国内外のあらゆる企業と組織、団体のウェブサイトの更新を収集します。 岡本将吾が運営しています。twitterは @happyou_info_ja です。

中華人民共和国大使館のスクレイピング

この記事は、クローラー/Webスクレイピング Advent Calendar 2016 に参加させていただいています。 昨日の記事は、anoChick さんによる AWS上にサーバレスな汎用クローラを展開するぞ。 - あのにのに  でした。

--

happyou.infoでは、中国政府のサイトをスクレイピングしています。

今回はその中でも中国政府の大使館や領事館のウェブサイトの更新情報を検出しRSS化しましたので公開したいと思います。

 

Q: なぜ中国大使館のスクレイピングを行うのか?

1.意味があるため

中国政府が対外的に発信する情報を網羅的に収集することには社会的に意味があると考えらるため。

 

2.ウェブサイトがマシンリーダブルでないため

中国政府のウェブサイトはマシンリーダブルでないため。RSSはなく、TwitterFacebookの利用も体系的には行われていないため。

 

3.happyou.infoが得意な分野であるため

たとえば、日本の東京にある中国大使館のサイトは、アメリカのワシントンにある中国大使館のサイトとはデザインが異なります。イタリアの大使館サイトはまた別のデザインです。

中華人民共和国駐日本国大使館

Embassy of the People's Republic of China in the United States of America

中华人民共和国驻意大利共和国大使馆

このようなサイトが 言語別にわけると約500近くあります。 これらのサイトを手作業でスクレイピングするのは大変ですが、happyou.infoは全て自動で収集することが出来るためです。*1

---

 これが入力元のサイト一覧です。

Missions Overseas

そして、これが現時点でのスクレイピングの結果です。

All Chinese embassies and consulates

  • 諸事情により中国語、英語、日本語以外の言語については生成していません。
  • 更新の半分くらいは 中国の外交部(日本の外務省に相当する)のプレスリリースがそのまま書き写されています。中国本国のリリースを中国語と現地の公用語で発信しているコピペです。
  • 残りは2国間関係のニュース、大使の講演や発言、中国関連のイベントの告知など。
  • 継続して収集しているのでわかるのですが、2016年の7月あたりを最後に、南シナ海に関する情報発信を発信を止めちゃったようです。
  • 在北朝鮮大使館の英語版のサイトの更新が止まっていて物悲しい。私は読めないけれど韓国語版も止まってる。仕事しろ同盟国じゃろ…

一つ一つのニュースはあまり面白くなく、とても意味があるとは思えません。しかしこれらを蓄積して分類しアーカイブ化すると価値が生まれることを知っています。

 

中国政府のスクレイピングで、クローラの多言語化にかなり対応できたのではないかと考えています。今回の成果をもとに去年失敗したNASDAQ全銘柄スクレイピングにもう一度挑戦してみるつもりです。

以上です。

*1:少なくとも民間レベルでは他に存在しないと考えています。

Wikitable

Wikitables - Convert Wikipedia tables to CSV file

URLを入力すると、Wikipediaのページにあるテーブルの内容をCSVファイルに変換する。

Wikipediaですらこの状態。世に多数存在する雑なウェブページからテーブルを抽出したところで、そのデータが何なのか判断できない。なんとかしてテーブルに適切なタイトルをつけることが出来ないだろうか?

道は遠い。

FinalScraperを高速化しました

FinalScraperをアップデートしました。

 

以前よりも高速にRSSフィードが生成されるようになりました。

その他の変更点はありません。

久しぶりに自分で使ってみたら、いつまでたってもフィードが生成されず、あまりの遅さにびっくりしたためです。

 

FinalScraper関連で残されている修正点は、

  • 時々、解析することのできないページがあるよう。原因不明。
  • 既にRSSフィードを提供しているサイトの場合、そのURLも表示する。

の2点です。

 

 

クローラの不具合が直る

本当に長い間調査をし続けて、ようやくhappyouのクローラの不具合が治ったことを記念し、久しぶりにブログを書く。

 

今後、happyouをスケールアウトさせることを考えたとき、今のボトルネックは明らかにDB.細かな最適化をおこなったところで多寡が知れている。

 

(1)次はDBの垂直分割を行いたい。教科書的には、更新系と参照系にわけるのだろうがそれは参照の比率の高いWebシステムの場合。happyouのクローラは約1:1なわけだからあまり効果はないと思う。

 

(2) または適当なKVS。で、Valueがサイト丸ごと(おぉ)。その評価を行わなければならない。パフォーマンスは高くなくてもよいので、できるだけ少ないメモリで動かしたい。

 

目的は何で、妥協できる点はどこなのか?そこを明確にしなければならない。

 

自らを制約するものは何もない。 どんどんやらかそう。

サーバを増強しAPIの検索機能が軽くなりました。

happyou.infoは現在、クロールの規模を拡大するための諸々の作業を行っています。

そのためにまずAPIの検索を担当するサーバの増強を行いました。かなり軽くなりました(まぁ、これまでなぜここまで負荷をかけていたのかという問題があったのですが…)。 ずっと懸案であったので一つ荷が降りた気持ちです。