セキュリティ関連の記事を手動ではてブして、それを月ごとに自動的にまとめるスクリプトを作ったんですよ。
でも1日ほっとくだけで未読がものすごい数になるのであっさり挫折しました。で、なんか自動的にできないものかと思って、はてブとFacebookのいいね!がたくさんされているものを探る試み。
RSSフィードのリストを取得
まずは過去記事を取得しなきゃいけません。
私はRSSリーダー「Feedeen」というのを2014年7月頃から使っています。
ニュース関連のサイトで登録済みのRSSは以下のとおり。
これの既読のリストを取得できないかなーと思っていたらFeedeenに素晴らしい機能が。
Google Driveと接続して[すべての過去アイテムをアーカイブする]で、Feedeenを使い始めてから今まで取得してきたアイテムが全て手に入るのです!ありがとうFeedeen!
月ごとのフィードをまとめる
ということでアーカイブされたZipファイルを展開すると、1フィード1テキストファイルになっていて、フォーマットはこんな感じ。
updated: 2016-09-27T01:00:53Z
feed_url: https://blog.kaspersky.co.jp/feed/
title: 自分のApple IDのセキュリティ質問をハッキングしてみた
url: https://blog.kaspersky.co.jp/security-questions-are-insecure/12630/
feed_name: Save the Worldの思いを伝えたい | カスペルスキー公式ブログ
feed_id: 344821
published: 2016-09-27T01:00:53Z
id: 380622968
feed_site: https://blog.kaspersky.co.jpパスワードを忘れたときなどに聞かれる秘密の質問(セキュリティ質問)。よくある「お母さんの旧姓は?」などはあまりお勧めできません。セキュリティ質問とその回答を考える際のヒントを紹介します。
[published]をチェックして該当月の場合は[title]と[url]を保存する、という感じでよさげ。はてブのタグ検索に引っかかるとメディアのRSSフィードのものと重複する場合が多いので、URLが重複しているものは省くことにする。英語日本語混じってますけどその辺はまあおいおい。
はてブ数、Facebookのいいね!数を取得する
Google+やTwitter、Pocketなんかのシェア数も使いたいところですが、公式APIを公開しているのがこの2つのみなんで、とりあえずこれだけで。
1.はてなブックマーク数
以下のGETリクエストでさくっと取得可能です。ダイレクトにはてブ数だけ返してくれます。
http://api.b.st-hatena.com/entry.count?url=[取得したいページのURL]
2. Facebookのいいね!数
これも以下のGETリクエストで取得可能です。
http://graph.facebook.com/?id=[取得したいページのURL]
JSONで返ってきます。
{
"id": "[URL]",
"share": {
"comment_count": [コメント数],
"share_count": [いいね!数]
}
}
シェア数=いいね!数みたいですね。Facebookのこの辺の仕組みはよくわからん・・。
Facebookはすぐ制限がかかっちゃうので適当にsleepしてます。トークンを使ってる場合は600秒間に600回、という制限があるようですが、トークンを使っていない場合の制限についての情報は得られず。
人気記事を探る
重み付けはあとで考えるかもしれませんが、とりあえず1はてブ=1いいね!=1ポイントとして数えてみました。
ただし、記事数が多くてFacebookの制限に引っかかりまくるので、まずはてブ数を調べ、10はてブ以下のものは対象から除外しています。ので実質タグ「セキュリティ」を検索 - はてなブックマークのものしか出てこない・・。
また、インターネットセキュリティにあまり関係ない記事も除外します。たとえば7月だと生前退位の話やカスタマーサービスの対応についての話などは除外。
7月、8月のトップ5は以下のとおり。日本語英語で分けてみた。
7月
日本語
順位 | タイトル | はてぶ数 | いいね数 | 計 |
---|---|---|---|---|
1 | 「ポケモンGO」利用規約に仕組まれた"ワナ" | ゲーム・エンタメ | 東洋経済オンライン | 経済ニュースの新基準 | 395 | 16838 | 17233 |
2 | <ポケモンGO>政府が注意喚起 「みんなへおねがい♪」 (毎日新聞) - Yahoo!ニュース | 119 | 6019 | 6138 |
3 | 「犯罪ほのめかす人にはGPSを」元副議長が持論展開(テレビ朝日系(ANN)) - Yahoo!ニュース | 376 | 3343 | 3719 |
4 | 総務省|非常勤職員採用情報 情報流通行政局(情報流通振興課情報セキュリティ対策室) | 597 | 2076 | 2673 |
5 | 「最大4000万人分のiCloudパスワードが漏れた可能性があるので今すぐパスワード変更すべき」と有名アンチウイルスソフトメーカーのカスペルスキーが警告 - GIGAZINE | 466 | 2125 | 2591 |
英語
英語は全体で6つしかありませんでした。
順位 | タイトル | はてぶ数 | いいね数 | 計 |
---|---|---|---|---|
1 | Google Online Security Blog: Experimenting with Post-Quantum Cryptography | 27 | 1849 | 1876 |
2 | New attack that cripples HTTPS crypto works on Macs, Windows and Linux | Ars Technica | 18 | 3173 | 3191 |
3 | SSD Advisory – Wget Arbitrary Commands Execution – SecuriTeam Blogs | 17 | 1044 | 1061 |
4 | GitHub - FallibleInc/security-guide-for-developers: Security Guide for Developers | 29 | 721 | 750 |
5 | SYN Flood Mitigation with synsanity - GitHub Engineering | 15 | 120 | 135 |
6 | Mitigating the HTTPoxy Vulnerability with NGINX | 20 | 56 | 76 |
8月
日本語
順位 | タイトル | はてぶ数 | いいね数 | 計 |
---|---|---|---|---|
1 | スノーデンの警告「僕は日本のみなさんを本気で心配しています」 なぜ私たちは米国の「監視」を許すのか | 賢者の知恵 | 現代ビジネス | 182 | 15581 | 15763 |
2 | 「ln.is」で始まるリンクにご用心 2013年のスパムが「語彙力テスト」きっかけで再び拡散中 - ねとらぼ | 181 | 5570 | 5751 |
3 | まさにプロの犯行!? Twitterの鍵アカを自在に開けさせる達人女子にその手口を聞いてきた - トゥギャッチ | 993 | 763 | 1756 |
4 | リンクを踏むだけでiPhoneの全情報を奪われるゼロデイ攻撃が発覚、「iOS 9.3.5」適用で対策可能 - GIGAZINE | 58 | 1685 | 1743 |
5 | 「最近の偽装メールはここまでやらないと確認できないのか?」・・・という話 - Togetterまとめ | 412 | 1186 | 1598 |
英語
8月も全体で6つのみ。
順位 | タイトル | はてぶ数 | いいね数 | 計 |
---|---|---|---|---|
1 | The Dropbox hack is real | 21 | 14841 | 14862 |
2 | New attack steals SSNs, e-mail addresses, and more from HTTPS pages | Ars Technica | 15 | 3717 | 3732 |
3 | New – AWS Application Load Balancer | AWS Blog | 143 | 2686 | 2829 |
4 | Observatory by Mozilla | 30 | 753 | 783 |
5 | SSL/TLS and PKI History | 19 | 109 | 128 |
6 | The SWEET32 Issue, CVE-2016-2183 - OpenSSL Blog | 11 | 114 | 125 |
月ごとにトップ20を載せたエントリをあげるつもりです。
作ってみた感想
毎回言ってますけどほんとRubyが書けるようになってよかったよね。こういうちょっとした思いつきをすぐ形にできるのすごく嬉しい。
最初はタイトルを形態素解析してバズワードを探してみたんですが、タイトルだけだと端的すぎてうまく解析できませんでした。特定の単語の出現頻度を時系列で追うとかいう方がよさそう。
トップ20を決めるやつははてブとFacebookだけだと偏る気がするんですよね。はてブは中身がアレでもコメント付けたい勢がいるから。ということでこんなことを考えてます。
で、考えたのが、はてぶは制限がゆるいので、まずはてぶ数をチェックし50以下ならnextみたいなことなんだけど、はてぶって内容がアレでもコメントで文句言うためだけにはてぶする人が無視できない数いて、実は30はてぶくらいが一番有益だったりする。5はてぶくらいの記事も侮れない
— トリコロールな猫 (@nekotricolor) September 25, 2016
このユーザは誰もはてぶしてない記事をはてぶしてるって人もいる。
— トリコロールな猫 (@nekotricolor) September 25, 2016
ということで、セキュリティ的アーリーアダプタなはてぶユーザを探すことができないかという、一時期Twitterでやろうとしていたことに帰着した。とりあえずいまRSSで取ってる記事をはてぶしているユーザを取得するとこから
ていうか実際並べてみるとはてブといいね数は全然相関がないように見えますね。この辺もう少し詳しく調べてみるのも面白いかも。
それと英語の記事でも同じことをやってみたいなと思ってます。今回も英語の記事がありますけど、あくまではてブベースなので。英語圏だとdel.icio.usとかですかね。Redditのコメント数でもいけるか?取れるかわからないけど。とりあえずRSSの見直しからだなー。
インターネットセキュリティと関連の薄い記事をはぶくという作業、結構数が多くて手動だと大変なんで自動化したいけど、これは難しいだろうなあ。はてブの「セキュリティ」タグに関係ない記事がありまくりなんだけどこれ以外でいいのが思いつかない。
そしてFeedeenはいいRSSリーダーです。余計な機能が付いてない、でも細々と便利な機能を追加していってくれている。過去記事のアーカイブが手に入るのも本当にありがたい。
この手のデータってとりあえずためとくとこうやって使い道があっていいですね。またなんか思いついたらやってみます。