Hatena::Groupkill

イン殺 RSSフィード

2010-02-28

[]特定のサイトに最近ブックマークをつけたユーザーを集計する 特定のサイトに最近ブックマークをつけたユーザーを集計する - イン殺 を含むブックマーク はてなブックマーク - 特定のサイトに最近ブックマークをつけたユーザーを集計する - イン殺

「このブックマークページにある id:grc1 さんのコメント。」

grc1 grc1 このブログって毎記事はてぶついてるけど、最初につける顔ぶれがほぼ同じだな。なんなの?知り合いなの?スパムなの? 怪しいID→pokemonnda,MP5,purou ,yuri4,K12121,bunbun56,gusutafu03,ipdoudou,kousuke425,suneohonekawa45,siki240 2010/02/05

はてなブックマーク - grc1 のブックマーク - 2010年2月5日

grc1 grc1 スパム, 自演, 自演はてブ, スパムサイト, 迷惑, これはひどい 毎記事自演でホットエントリ入りさせている。だれかどうにかしてください 2010/02/11

はてなブックマーク - grc1 のブックマーク - 2010年2月11日

「これを見て興味を持ったので、たまたま手元にあった"直近の 30 エントリをブックマークしたユーザーを集計する Pragger スクリプト"にかけてみました。(以下長いので続きを読む記法)」


やりかた

「使っている Pragger の自作プラグインについては id:xx-internet:20081213:p1 参照。 config.yaml は以下。やっていることは 4 つ。」

  1. RSS::load で http://siki420.blog45.fc2.com/ の最近のエントリリストを取得。*1
  2. 1 のエントリーを最初の 5 番目までにブックマークしているユーザーを一次元配列にする。
  3. 集計。書いてあるそのまま。
  4. Publish::hash2table でテキスト出力。
- module: RSS::load
  config:
    url: http://b.hatena.ne.jp/entrylist?mode=rss&threshold=1&url=http://siki420.blog45.fc2.com/
- module: Yaml::save
  config:
    filename: siki420.yaml
- module: Filter::Hatena::hatena_b_entry_users
- module: Yaml::save
  config:
    filename: siki420_filter.yaml
- module: peval
  config:
    p: t = Hash.new {|h, k| h[k] = 0 };
       data.each {|item| t[item] += 1 };
       ret = [];
       t.sort_by {|key,val| val }.reverse.each {|i|;
         ret << { 'user' => i[0], 'count' => i[1] };
       };
       ret;
- module: Publish::hash2table
  config:
    filename: siki420.txt
    title: user,count
    separator: '|'

結果

「 3 以上ブックマークしているユーザーの一覧。 id:grc1 さんのコメントに挙がっていたユーザーを強調しています。結論から言うと、特定の ID を使ってホッテントリ入りを目指していると言えるほどの偏りがあるようには見えませんでした。他にもたくさんブックマークしているユーザーはいるので。」

usercount
bsiyo30
siki240*30
mitotu27
tyw14
minazuki611
pycol11
a2de7
cake_holl15157
purou7
prodakuto7
keik477
kousuke4256
K12121*6
kobo4546
feita6
momon455
toronei5
mobileac015
MP55
hana4545
CUTPLAZA-Tomo5
repunit4
orbis4
suneohonekawa454
Utasinai4
pokemonnda4
hakodama4
TakahashiMasaki4
tuxjunky4
came82444
tittea4
mtfumi3
t298ra3
pokopen-tam3
rin513
zenpou3
hshinoda3
umeten3
gusutafu033
wartanenemon3
yuri43
SiroKuro3
hotomaru3
mongrelP3
tadakitisan33
guldeen3
shoot_c_na3
bunbun563

id:siki240 さんは 30 件中 30 件ブックマークしていますが、アカウント名から見て元 blog の管理者と思われます。いわゆるセルクマというやつでしょう。 id:bsiyo さんも同数ですが、 https://twitter.com/bsiyo によると bot だそうで。 id:mitotu さんはブックマークを見る限り、 2ch まとめサイトなどを広くブックマークしている模様。」

さらなるやりかた

「これだと"最初につける顔ぶれがほぼ同じ"という部分が検証されていないので、 hatena_b_entry_users をコピペして、エントリーリストに出てくる 5users までのブックマークで集計。強調部分が元フィルタからの差分 強調できてなかったので消しました。」

require 'open-uri'
require 'hpricot'

def hatena_b_entry_users_first(config, data)
  ret = []
  data.each_with_index {|item,i|
STDOUT.puts item.link
    begin
      doc = Hpricot(open("http://b.hatena.ne.jp/entry/#{URI.escape(item.link)}").read)
      (doc/'ul#bookmarked_user/li').each {|user|
        ret << (user/'a.username').inner_text if i < 5
      }
    rescue Exception
      STDERR.puts $!
    end
  }
  ret
end

(2010-03-07 追記)

「かなり間違っていたので修正。最新 5 エントリのラスト 5 ユーザーを返す動作になってました。」

require 'open-uri'
require 'hpricot'

def hatena_b_entry_users_first(config, data)
  ret = []
  data.each {|item|
STDOUT.puts item.link
    begin
      doc = Hpricot(open("http://b.hatena.ne.jp/entry/#{URI.escape(item.link)}").read)
      (doc/'ul#bookmarked_user/li').reverse.each_with_index {|user, i|
        ret << (user/'a.username').inner_text if i < 5
      }
    rescue Exception
      STDERR.puts $!
    end
  }
  ret
end

さらなる結果

(2010-03-07 追記)

「スクリプトの間違いを直して再測定した結果に置き換えました。」

usercount
siki24030
bsiyo19
mitotu15
keik477
prodakuto6
kobo4544
gusutafu034
ooidumi4
horiemonn4
kousuke4253
minazuki63
MP53
K121212
bunbun562
purou2
hana4542
fyu1ww2
remsleepless2
suneohonekawa452
pycol2
yuri42
gugurpu2
momon452
takehr1
akinohito1
goroutyan1
TakahashiMasaki1
endo_55011
pokemonnda1
tyw1
sagonohashi1
aoringo121
madono_masami1
ipdoudou1
guldeen1
sky-graph1
wartanenemon1
birdtail1
atcgouch1
my71s1
kids61
phe1
p2p2p1
yukitanuki1
raderjp1
K1tten1
okemos1
retlet1
triggerhappysundaymorning1

「こちらだと更に特定ユーザーの影は薄くなります。ホッテントリに入れるにはなるべく早めにブックマークするのが有効なので、自作自演アカウントならこの結果に反映されているのが自然なように思われます。」

「調べた結果からは"http://siki420.blog45.fc2.com/ のホッテントリは自作自演である"という結論は導き出せませんでしたが、ありそうな仮説を考えてみます。」

  • 調査が間違っている。
  • 自作自演によるブックマーク数操作は存在しない。
  • 集計対象が現時点で 2010-02-16 前後までなので、 id:grc1 さんの指摘以降、自作自演が影を潜めた。
  • その他多数のアカウントによって自作自演が行われている。

「自分の興味は"特定サイトを激しくブックマークしているユーザーがいるか"を機械的に集計する手段を再現可能にすることにあり、自作自演が本当にあったかどうかは正直どうでもいいので、これ以上の判断はさしひかえます。」

まとめ。そうねえ。

「毎回似たような Pragger コンフィグなんか書いてないでとっととサービスにでもしろということしかないんじゃないのそうですね。」

*1:はてなブックマークの仕様で 30 件、現時点で 2010-02 中旬まで取れた。

野ざらし野ざらし2010/03/01 09:25はじめまして。

遺体RPGはネットでやっても面白そうですね。その業界でのプレイヤーの名声が、そのまま遺体に引き継がれ影響を及ぼすのです。

しばらくログインしていないとそのキャラは遺体になるというルールを利用して、コミュニケーションを駆使しプレイヤーのプレイ意欲を下げたりゲーム内抹殺を謀ったりする人達が出てくれば素敵ですね。

時宗時宗2010/03/01 22:03死ぬのが嫌いで、女神転生ifにガーディアンつけずにクリアした私用に遺体未使用でもクリア出来るようにしといてください。

とくめいとくめい2010/03/01 23:268年ぶりの書き下ろしですか
ノンポリだましいを逆流れする竹島ネタで・・・

あ、壬申倭乱というのも国士様には禁呪らしいですね。日本海を東海と、竹島を独島と言われたときにはおよばないまでもスパークさせる効果があるとか。
知らずに使って大変でした

xx-internetxx-internet2010/03/02 07:40> 野ざらしさん
遺体目当ての kill が横行すれば、ガチのプレイヤーはいずれアバターに対する殺人罪で相手を訴えるかもしれませんね。楽しい世界です。

> 時宗さん
クリアの暁には遺体力ゼロのレア遺体として扱われるでしょう。

> とくめいさん
徹センセイが政治的抗議を受けたという話は聞いたことがありませんが、ああ見えてあの人はガチなので、そうなったらそうなったで資料とかを持ち出してちょう楽しそうに議論すると思います。
あと、壬申倭乱が分かる人は荒山徹ファンでなければ朝鮮大好きっ子なんじゃないでしょうか。

たんまりたんまり2010/03/03 23:18はじめまして。
遺体RPGというか人間の生肉GOなRPGというと
フリーRPGのElonaを思い出します。チュートリアルからなかなか非道いゲームですので御暇な時にでもぜひ。

勘違い?勘違い?2010/03/06 02:48hatena_b_entry_users_first、最近の記事5件にブックマークしたユーザーの配列を返すようになっていませんか?

xx-internetxx-internet2010/03/08 07:18かなり間違ってますね。最新 5 件の末尾 5 ユーザーを返してました。ご指摘ありがとうございます。
"さらなるやりかた"以降を修正しました。

SOUSOU2010/03/09 10:09ここ最近のバキの烈さんがボクシングそのものに喧嘩を売ってるのは巻末コメントでの挑発にのらない森川ジョージ先生に対してのものなのかとバチバチみながら思った次第。

とくめいとくめい2010/03/15 23:18御免状読了しました。
39ページでぷっと吹いてしまい、荒山先生の稚気稚気マシン平常運転振りに安心。
裏主役の韓人の安龍福氏、安部、福田、橋本龍太郎の合体怪人かと思ったら実在の人物でした。

トラックバック - http://kill.g.hatena.ne.jp/xx-internet/20100228

2008-12-31

[][]はてなブックマークお気に入りを使った伝言ゲーム はてなブックマークお気に入りを使った伝言ゲーム - イン殺 を含むブックマーク はてなブックマーク - はてなブックマークお気に入りを使った伝言ゲーム - イン殺

「はてなブックマークお気に入りでの情報が広がっていく経路の調査と、ブックマークユーザーの bot 判定を同時に行う方法を思いついたので記録しておきます。」

  1. あるエントリを直接見たユーザー A がブックマークする。コメント欄には何も書かない。
  2. お気に入りにユーザー A を入れていて、お気に入り経由でそのエントリを見たユーザー B は、コメント欄にユーザー A の id を書いてブックマークする。
  3. 以下、無限に続く。注目エントリなどの別経路から見たユーザーはコメント欄を空にする。

「これに反応したユーザーは人間。反応しなかったユーザーは bot または訓練された人間。
バトンと同じ発想なのが若干アレですが、ブックマークコメントを辿れば経路が 100% トレースできるのが強み。弱点は、途中で誰かがユーザー名を間違えると枝が切れるところ。ただ、ある程度複雑なユーザー名はコピペされるので、あまり問題になることはないと思います。逆に危ないのは I11 さんのように読み間違いされやすいアカウントかな*1。」

[]はてなブックマーク 2008 人気エントリー はてなブックマーク 2008 人気エントリー - イン殺 を含むブックマーク はてなブックマーク - はてなブックマーク 2008 人気エントリー - イン殺

「ありそうでないように見えるので調べた。といっても http://b.hatena.ne.jp/entrylist を見れば分かるんですが。」

noentrycount
1 エクセルのデータを見やすくする5つの簡単なテクニック | コリス3113
2 1ヶ月間だけ、思い切りがんばれば。 - Attribute=512520
3ダウンロードし放題 商用利用可能な写真素材サイトいっぱい | DesignWalker2427
4『無料+ブラウザ』で全部やってしまおう。webジェネレーターとサービス50個まとめ*ホームページを作る人のネタ帳2344
5no title2336
6ASCII.jp:驚きのExcel 超早技ベスト15 これは便利! (1/4)|Excel達人の新定番テク60 知らないあなたは損してる!2150
7no title2064
8PowerPointテンプレートサイトいろいろ | DesignWalker1880
9はてなブックマークを使ってはてな福袋をもらおう!とは - はてなキーワード1827
10404 Error - FC2ブログ1800
11写真がうまくなる36の法則 - ライフハックブログKo’s Style1740
12幕末古写真ジェネレーター -写真を江戸時代〜明治時代の古写真ぽくします-1648
13英語落ちこぼれ→取りあえずTOEIC935点のsergejOが贈る 大人から始める英語講座 index&まとめ - はてなに於けるsergejO1625
14見てるだけで楽しい!雑貨・インテリアを扱っている24サイトまとめ*二十歳街道まっしぐら(FC2ブログ時代)1610
15 ネットに時間を使いすぎると人生が破壊される。人生を根底から豊かで納得のいくものにしてくれる良書25冊を紹介 - 分裂勘違い君劇場1586
16no title1583
17ハックルベリーに会いに行く1575
18英語の勉強したい人はiknowよりESL Podcast聞こうぜ | fladdict1561
19 カップ麺なみの手間でできる6つの健康的激うま格安レシピ - 分裂勘違い君劇場1559
20404 Not Found | このページは存在しないか、すでに削除されています1499
21○○円ならどこまでできる!? ウェブサイト制作の相場早見表 | 安く!早く!を実現するサイト制作の発注マニュアル | Web担当者Forum1495
22新社会人が読んどけと思う本のリスト - I 慣性という名の惰性 I1471
23STRAIGHTLINE™1469
24約500機種の携帯端末を網羅するケータイテストエミューレーター「P1 Emulator」を使ってみました | memokami1441
257go.biz -&nbspこのウェブサイトは販売用です! -&nbsp翻訳 一括 エンジン 無料 マニュアル 姓名判断 ダイエット 診断 リソースおよび情報1417
26「冷蔵庫に入れておいた方が長持ちする」&「冷蔵庫に入れない方が長持ちする」野菜と果物リスト - GIGAZINE1410
27【秋葉原無差別殺傷】人間までカンバン方式 - 何かごにょごにょ言ってます1383
28 「お前らの作品は所詮コピーだ」――富野由悠季さん、プロ論を語る (1/5) - ITmedia NEWS1371
29404 Error - FC2ブログ1347
30 登録不要ですぐ使えて、無料――最大400Mバイト〜5Gバイトの大容量ファイル転送サービス4選 - ITmedia エンタープライズ1347
31週に一度、日曜日に自問すべき20の質問 | IDEA*IDEA1332
32内科医が風邪について書く1331
33梅田望夫 - Musings - ウェブブック『生きるための水が湧くような思考』(梅田望夫著)1318
34 オンラインで動画・音声・教科書を無料で公開している大学の講義・授業まとめ - higepon blog1306
35モバゲーのような携帯サイトを作るための12のTips 携帯サイトを作ろう! -ちょっと詳しいモバイルサイトの作り方-1298
36圧倒的に生産性の高い人(サイエンティスト)の研究スタイル - ニューロサイエンスとマーケティングの間 - Being between Neuroscience and Marketing1283
37はてなブックマークの歴代ホッテントリ TOP100 - 19790401173.41264
38no title1246
39404 Not Found | このページは存在しないか、すでに削除されています1239
40体力を夜のうちに回復させるワザ - ビジネス本マニアックス−働くひとのための…1237
41 睡眠の質を最高にする、ちょっと変わった夕食のとり方 - 分裂勘違い君劇場1233
42まゆたんブログ : 思うこと。 - ライブドアブログ1221
43 商用・非商用で使用できるフリーの写真素材サイト集 | コリス1221
44jQuery 日本語リファレンス1220

雑感

  • ブックマーク総数は何となく増えているような気がする。ほぼ毎日 500 オーバーのエントリが上がっている。
  • d.hatena.ne.jp は半数弱。
  • このレベルになると大半が生活系。料理・英語・仕事術・ Web 系素材が中心。
  • みんな Excel が大好きだということはよくわかりました。
  • 個人的には富野のプロ論とまゆたんブログとポニョの話しか読んでませんでした。

調べ方

「 PRagger で entrylist を取ってくるプラグインを作って、オプションに年フィルタをつけました。たぶん動いている。はず。」

Feed/hatena_b_entries.rb
require 'open-uri'
require 'hpricot'

def hatena_b_entries(config, data)
  ret = {}
  q = ""
  config.keys.delete_if {|k| /^query_/ !~ k  }.each {|k|
     q += "#{k.gsub(/^query_/, '')}=#{config[k]}&"
  }
  request = "http://b.hatena.ne.jp/entrylist?#{q.chomp}"
STDOUT.puts request
  doc = Hpricot(open(request).read)
  (doc/'ul.hotentry/li').each {|i|
    url = (i/'div.entry-body/h3/a').map {|a| a['href'] }
    count = (i/'div.entry-body/ul.entry-info/li.users').inner_text.gsub(/ users/, '').to_i
    if config["filter-year"]
      require 'date'
      date = Date.parse( (i/'ul.entry-info/li.timestamp').inner_text )
      next if date.year < config["filter-year"]
    end
    
    ret[url] = count
  }
  ret
end
config.yaml
- module: Feed::hatena_b_entries
  config:
    query_threshold: 1200
    filter-year: 2008
- module: Yaml::save
  config:
    filename: hb2008.yaml
- module: peval
  config:
    p: ret = [];
       i = 1;
       data.sort_by {|key,val| val }.reverse.each {|c|;
         ret << { 'no' => i, 'entry' => "[#{c[0]}:title]", 'count' => c[1] };
         i += 1;
       };
       ret;
- module: Publish::hash2table
  config:
    filename: hb2008.txt
    title: no,entry,count
    separator: '|'

「実は 50 件以上取ってくる処理を入れていないので、 threshold の 1200 は目視でいい感じに収まる数字を入れました。今のところ 44 件引っかかります。他のプラグインについては id:xx-internet:20081213:p1 参照。」

トラックバック - http://kill.g.hatena.ne.jp/xx-internet/20081231

2008-12-20

[][]注目エントリのオタク系カテゴリのURLが"game"なのは適当か 注目エントリのオタク系カテゴリのURLが"game"なのは適当か - イン殺 を含むブックマーク はてなブックマーク - 注目エントリのオタク系カテゴリのURLが"game"なのは適当か - イン殺

「リニューアル後のはてなブックマークのホッテントリはカテゴリ別のページで見られるようになったんですが、オタク系の話題は"アニメ・ゲーム"に分類されるのですね。 URL は http://b.hatena.ne.jp/hotentry/game 。漫画関係の話もたいていここに分類されるわけで、そこで気になったのがアニメと漫画とゲームってマジョリティ的にはどんな割合なのかということで、果たしてゲームで代表するのが正しいんだろうかと。というわけで簡単に調べました。」

市場規模

「 2004 年の野村総研の統計が横断的でわかりやすい。」

「これによると

コミック1,000億円 >> ゲーム(730億円) >> アニメ(200億円)

という結論になります。
ただし、コミックの市場規模計が同人誌即売会参加者数、雑誌購読率からの推定、ゲームはゲームプレイ時間、ネットワークゲーム参加率、特定雑誌出版部数から、アニメに至ってはタイトルあたり DVD 売上枚数なので、実はあまり当てになる数字とは言えません。」

「株式会社ヒューマンメディアというところの日本と世界のコンテンツ市場データベースという資料のうち、サンプルで見られる1-3. 世界及び海外各国・エリアのコンテンツ市場では、

雑誌・書籍
25,438 億円
映像ソフト・セル
2,786 億円
ゲーム
5,502 億円

とされていますが、統計の詳細は別ページの脚注に書かれているので不明。

「その他、個別の統計だとこんな感じ。

アニメ
wikipedia:アニメの「数値」から引用されている 2004-05 発売の山口康男『日本のアニメ全史』(isbn:9784886960115)では、日本国内で 2000 億円の売上とされている。数値の根拠は「テレビアニメ製作費、映画の興行収入、ビデオソフトの売り上げや玩具メーカーなどからの知的財産権使用料の内、アニメ制作会社が受け取る分」とのこと。
ゲーム
2007年度の国内ゲーム市場規模は6679億円――メディアクリエイト調べ - ITmedia +D Gamesで、 2007 年の市場規模が 6679 億円と報じられている。数値根拠は不明。
漫画
wikipedia:日本の漫画の「近年の動向・漫画雑誌の売上と単行本の売上」で引用されている出版研究所の|コラム|戦後のベストセラーとメガヒット現象|全国出版協会・出版科学研究所ではコミック誌 3,357 億円、コミックス 2,507 億円の売上があるとされている。ただし 2005 年にはコミック誌の売上がコミックスの売上を割っているとのこと。コミックスの売上がそのままなら約 5,000 億円規模。

「結論としては、漫画市場かゲーム市場が大きいというところで、どちらがより大きいかは不明。傾向としてはゲームの方が大きくなっていきそう、というくらいでしょうか。直感的には漫画が一番大きい気がするんですが。」

通りすがり通りすがり2008/12/22 09:57節子、それ丸尾末広やない、古谷兎丸や!

xx-internetxx-internet2008/12/22 22:48> 通りすがりさん
今の今まで丸尾末広だと確信してました。焼きが回ったものです。

通り過ぎ通り過ぎ2008/12/23 01:50あれを兎丸が書いていた…だと
丸くなったな。

hummer_and_anvilhummer_and_anvil2008/12/23 07:28正しくは古谷兎丸の「丸尾末広モチーフの話ばっか書いてちゃ駄目だという自己批判だろうか。」ということですね。

トラックバック - http://kill.g.hatena.ne.jp/xx-internet/20081220