#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()//←こいつ
タイトルとか投稿者を抜き出すコードは要らないですよね(´・ω・`)
タグも抜き出せば良かった・・・(大失敗)
当然のようですが、4,5時の時間帯が最も投稿数が少なく、23、0時が多く投稿されている時間帯のようですね
やはり、エンジニアは夜型のようです
11時、16時に投稿数が増えるのは休憩や休み時間とかなのでしょうか(笑)
##次は曜日別
予想外に、水曜日が多い・・・個人的予想では日曜が多いのかと思った
これは調査した期間の影響か!?
##日別
7月22、23日はなぜかラズパイが死に、それに気づかず放置
7月30、7月31日は間違えてラズパイの電源タップを切ってしまった
#終わり
本当は、ミスった日は除外しないと正確な結果が出ないのだけれど、面倒になってエクセルに「ぽいー」したので、結果をあまり信用しないように・・・
途中で気づいたことで、タグも記録してればタグごとにも集計出せたのに・・・
タグごとに集計された方