ã¾ãã¯ããã«ã8/4ã«ã亡ããªãã«ãªã£ããã¨ã8/8ã«å¤æãã俳åªã®æ´¥å·é 彦æ°ã8/8ã«ã亡ããªãã«ãªã£ãæ²ç¸çç¥äºã®ç¿é·éå¿æ°ã両æ°ã®ãå¥ç¦ããç¥ããããã¾ãã
ã§ãããããç¶æ³ã«ãªã£ããã¨ãåããå½ç¶ã¨ãããä½ã¨ããããTwitteræ¿æ²»çéã§ã¯ä¸¡æ°ãè´ã«ãããã¦ã¨ã¯ç¥äºã®æ»ãåã¶ã¯ãºï¼ãããã¨ã¯ããæ´¥å·ããã®æ»ãåã¶ã¯ãºï¼ãã¿ãããªä¸æ¯æ¥µã¾ãç½µãåãããã¦ããã
ãããããã¨ã«ãªããã³ãç§ã¨ãã¦ã¯ãã©ã£ã¡ãã¯ãºããªãã¦ãè¨éçã«åæããã°ããåãããã¨ãªããããªããï¼ããªã©ã¨æã£ã¦ããã®ã¨ãä¹ ã ã«Rubyã§éãã§ã¿ãããªã£ãã®ã§ãèªåãªãã«å®éã«ãã£ã¦ã¿ãã
Â
Â
åæ対象
åæ対象ã¨ããã®ã¯ä¸è¨æ¡ä»¶ã§åå¾ã§ãããã¤ã¼ãããããããæ¡ä»¶ãã¤ããã¨å¤ãªã®ããåããªãã£ããé¢åã«ãªãããã ã¨æã£ãã®ã§ãã·ã³ãã«ãªæ¡ä»¶ã§åå¾ãããã¨ã«ããã
- åå¾æ¥æï¼2018/8/8 19:00 ï½ 2018/8/9 19:00 ã®24æéã対象
- åå¾æ¡ä»¶ï¼ãã¤ã¼ãå 容ã«ãç¿é·ããå«ããã®ã¨ãæ´¥å·ããå«ããã®
- ãã®ä»ï¼ãªãã¤ã¼ãã¯åå¾å¯¾è±¡ã¨ããªã
Â
ãã¼ã¿æ½åºåã³åæã®æ¹æ³
å©ç¨ããã½ã¼ã¹ã³ã¼ãåã³ã³ãã³ã
Qiitaã®ä¸è¨ã½ã¼ã¹ããã¨ã«ãèªåã®ããæ¹ã«åããã¦ã¢ã¬ã³ã¸ããã
Â
åå¾ç¨ã½ã¼ã¹ã³ã¼ã
#!/bin/env ruby #encoding:UTF-8 require "twitter" # ã¢ããªã±ã¼ã·ã§ã³ãã¼(consumer key/secret)ã®èªã¿è¾¼ã¿ # OAuth ã¢ã¯ã»ã¹ãã¼ã¯ã³ã®èªã¿è¾¼ã¿ @client = Twitter::REST::Client.new do | cnf | cnf.consumer_key = "XXXXXXXXXXXXXXX" cnf.consumer_secret = "XXXXXXXXXXXXXXX" cnf.access_token = "XXXXXXXXXXXXXXX" cnf.access_token_secret = "XXXXXXXXXXXXXXX" end # å¤æ°ã®åæå max_id = 0 counter = 0 # ç¡éã«ã¼ã while counter == 0 do begin # å¼æ°ã§åãåã£ãã¯ã¼ããå ã«ãæ¤ç´¢çµæãåå¾ï¼ä¸¦ã³ã¯ããã©ã«ãã®æ°ããé ï¼ã # â»æåã¯max_id=0ã§ãããããtweet ID 0以éã®Tweetããæå¤ã®ãã®ä¸ä½100件ãåå¾ @client.search(ARGV[0], count: 100, result_type: "recent", max_id: max_id).take(100).collect do |tweet| # Tweet ID, ã¦ã¼ã¶åãTweetæ¬æãæ稿æ¥ãªã©ãªã©ã»ã»ã»ã1件ã¥ã¤è¡¨ç¤º print tweet.id print "," print tweet.user.id print "," print tweet.user.screen_name print "," print tweet.user.description.gsub(/(\r\n|\r|\n|\f|\t|\v|,)/,"") print "," print tweet.user.location.gsub(/(\r\n|\r|\n|\f|\t|\v|,)/,"") print "," print tweet.text.gsub(/(\r\n|\r|\n|\f|\t|\v|,)/,"") print "," print tweet.retweet_count print "," print tweet.favorite_count print "," print tweet.geo print "," print tweet.place print "," print tweet.source print "," print tweet.created_at print("\n") # åå¾ããTweet idãmax_idã«æ ¼ç´ # â»æ°ãããã®ããå¤ããã®é (Tweet IDã®éé )ã«è¡¨ç¤ºãããããã # æçµçã«ãåå¾ããçµæã®å ã®æå¤ã®Tweet IDãæ ¼ç´ããã # 次ã¯ãã®ID以éã®Tweetãåå¾ããã max_id = tweet.id - 1 end # æ¤ç´¢ã¯ã¼ã㧠Tweet ãåå¾ã§ããªãã£ãå ´åã®ä¾å¤å¦ç rescue Twitter::Error::ClientError # 60ç§å¾ æ©ãããªãã©ã¤ sleep(60) retry end sleep(60) end
Â
å®è¡ã³ãã³ã
ruby Twitter_KeywordSearch1.rb "ç¿é· since:2018-08-08_19:00:00_JST until:2018-08-09_19:00:00_JST exclude:retweets" > onaga.csv ruby Twitter_KeywordSearch2.rb "æ´¥å· since:2018-08-08_19:00:00_JST until:2018-08-09_19:00:00_JST exclude:retweets" > tsugawa.csv
Â
ã¯ããåå¾ç¨ã½ã¼ã¹ã³ã¼ããè¦ã¦ã®éãè¶ åé·ã§éãªã½ã¼ã¹ã§ããã¾ãã ã«ã³ãåºåãã«ãã¦ããã®ã¯ãã¨ã§åæç¨ã«ãã®ã»ããé½åãè¯ãï¼Excelã§ã´ãã§ã´ãã§ããï¼çºã
Â
ä»æ§
ã¾ãå®è¡ã³ãã³ãã§8/8 19:00 ï½ 8/9 19:00ãæå®ãããã®ç¯å²ã ãæ¤ç´¢ããããã ãããã¤ã¼ãæ¤ç´¢ç¨APIã®ä»æ§ä¸ã1åã«åå¾ã§ããã®ã¯100件ã¾ã§ã§ããããã®ãããæ°ããï¼8/9 19:00å¯ãã®ï¼ãã¤ã¼ããã100件ã¨ã£ãã次ã¯101件ç®ãã100件åå¾ãããã¨ããã®ã8/8 19:00ã«å°éããã¾ã§ã1åééã§ä½åº¦ãå®è¡ãããã¨ã§ãå ¨ãã¤ã¼ããåå¾ããã¨ããä»æ§ã¨ããã
次ã®100件ãåå¾ããã¾ã§1åééãéãã¦ããçç±ã¯ããã¤ã¼ãæ¤ç´¢ç¨APIã®å¶éã§ã15åéã«å¯è½ãªãªã¯ã¨ã¹ãæ°ã180åã«å¶éããã¦ããããã§ããã
ï¼ãã¡ãããã£ã¨åæ°ãå¢ãããã¨ã¯å¯è½ã ãããã¾ãå¶éã®ãªã®ãªã®åæ°ãªã¯ã¨ã¹ããããã¦ããã¨å¢BANãããæ°ãããã®ã§ãå ã®ã½ã¼ã¹ããåæ°ãå¤ãããã¨ã¯ããªãã£ãï¼
Â
åææ¹æ³
åææ¹æ³ã¨ãã¦ã¯ãç¿é·ãæ´¥å·ä¸¡æ¹ã®ãµã³ãã«ãã¡ã¤ã«ãä¸è¨ã®è¦³ç¹ããç®æ¤ã§ç¢ºèªããããã¦ã¨ã«ããç¿é·ã¸ã®ä¾®è¾±ããããã¯ãã¨ã¯ã«ããæ´¥å·ã¸ã®ä¾®è¾±ããå ¨æ¸ãè¾¼ã¿ä¸ã©ã®ãããã®ããªã¥ã¼ã ã§ãã£ãã®ãæ¯è¼ããã
Â
- ç¸æãææ³çã«ã©ã®ãããªé£å¶ã«æå±ããã®ãæå®ããæ¸ãè¾¼ã¿ï¼ãæ´¥å·ã¯ããã¦ã¨ãããç¿é·ã¯ã¯ã½ãµã¨ããªã©ï¼
- ç¸æãæ»ãã ãã¨ãåã¶æ¸ãè¾¼ã¿
- ç¸æãæ»ãã ãã¨ã§ãä½ããè¯ããªãã¨ããå 容ã®æ¸ãè¾¼ã¿ï¼ãç¿é·ãæ»ãã ãã¨ã§ãæ²ç¸ã®æ¿æ²»ãæ£å¸¸åããããªã©ï¼
Â
åæçµæ
ãã¼ãã§ã¯ãã©ã¡ããããã¯ãºã ã£ãã®ãçºè¡¨ãã¾ãã
Â
ç¿é·ã¸ã®ä¾®è¾±ï¼20å
æ´¥å·ã¸ã®ä¾®è¾±ï¼19å
Â
ã»ã¼åæ°ã§ããã®â¦â¦ã
ããã§è¨éçã«ããããã£ããè¦ã¯ã©ããªé£å¶ã«ãä¸å®ç¨åº¦ã®å²åã§å±ãããã¨ãããã¨ãããã¦ãã®å²åã¯ç²¾ã å ¨æ¸ãè¾¼ã¿ä¸ã®3.3%ç¨åº¦ã«éããªãã¨ãããã¨ã ã
Â
ããã¦ãæ¸ãè¾¼ã¿ãç®æ¤ã§è¿½ã£ã¦æã£ãã®ããç¿é·æ´¥å·ä¸¡æ°ã«å¯¾ãã侮辱ã®æ¸ãè¾¼ã¿ãããç¸æé£å¶ã«å¯¾ãã¦ãããã¦ã¨ãç¿é·ããã®ãã¨ãæªãè¨ã£ãï¼ãã ã®ããµã¨ã¯ãæ´¥å·ããã侮辱ãã¦ããï¼ãã ã®ã¨ãã£ãæ¸ãè¾¼ã¿ã®ã»ããé¥ãã«å¤ãã¨ãããã¨ã ãçããä¸ä½ã©ãã«ããè人形ã«éãæã¡ä»ãã¦ãããã ãããâ¦â¦ï¼
Â
ã¾ããåã ã¨æããªããç§ãUPãããã¡ã¤ã«ãçãããä¸ç·ã«åæãã¦ã¯å¦ä½ã ãããï¼ãæçµçãªé¸ãåãã¯çµå±ä¸»è¦³ã«é ¼ããã®ã ã£ãã®ã§åã£ã¦ããå¯è½æ§ãããããèªåã®åææ¹æ³ãééã£ã¦ããå¯è½æ§ãååããã
Â
以ä¸ãåæçµæã§ããã