15
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Qiitaの投稿について調べた件

Posted at

#Qiitaの投稿について調べた件

  • Qiitaに投稿している人はどの時間帯に投稿してるのだろう
  • どの曜日に投稿が多いのだろう・・・

などいろいろ疑問に思い、調べた話

#調査のやり方や期間など

  • Webスクレイピングによって、全ての投稿の投稿タイトルやURL、投稿者を記録する(APIの存在は後で気づいた)
  • 10分間隔で情報をとりにいく(10分間に大量に投稿があった場合、とりこぼしがあるかも)
  • 使用言語はPythonでRasberry Piをサーバ代わりに運用
  • 調査期間は2016年5月29日~6月4日、7月13日~現在進行形

##ラズパイが落ちまくった話
全ての投稿のページがJavaScriptで動的にロード?されてるみたいで、seleniumを採用

こん感じでログインして、ソースコードを取得する

display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Firefox()
driver.get("http://qiita.com/")
driver.find_element_by_id("identity").send_keys("mail address")
driver.find_element_by_id("password").send_keys("password")
driver.find_element_by_name("commit").send_keys(Keys.RETURN)
time.sleep(10)//配慮
driver.get("http://qiita.com/items")
source = driver.page_source.encode("sjis","ignore")
driver.close()
display.stop()

数日、テストとして動かしていたら1~3日でラズパイがフリーズしてしまい、ソースコードを見なおしていたら「stopがないじゃん!」って思ってdisplay.stop()を書いたら、フリーズしなくなりました(#^ω^)

display.stop()//こいつ

タイトルとか投稿者を抜き出すコードは要らないですよね(´・ω・`)
タグも抜き出せば良かった・・・(大失敗)

#結果
##まず、時間帯別
p_hour.png

当然のようですが、4,5時の時間帯が最も投稿数が少なく、23、0時が多く投稿されている時間帯のようですね
やはり、エンジニアは夜型のようです
11時、16時に投稿数が増えるのは休憩や休み時間とかなのでしょうか(笑)

##次は曜日別
p_week.png
予想外に、水曜日が多い・・・個人的予想では日曜が多いのかと思った
これは調査した期間の影響か!?

##日別
キャプチャ.PNG
7月22、23日はなぜかラズパイが死に、それに気づかず放置
7月30、7月31日は間違えてラズパイの電源タップを切ってしまった

#終わり
本当は、ミスった日は除外しないと正確な結果が出ないのだけれど、面倒になってエクセルに「ぽいー」したので、結果をあまり信用しないように・・・
途中で気づいたことで、タグも記録してればタグごとにも集計出せたのに・・・
タグごとに集計された方

15
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?