一覧 最終更新 HOME ログイン

freedomcat.com

ハッシュタグクラウドcsvWiki用変換スクリプト

カテゴリ:[script]

これは何?

ハッシュタグクラウドが出力するcsvを、Wiki(YukiWiki,WalWiki,Hiki)記法のテーブルに変換するスクリプトです。

使い方

ハッシュタグ、取得年月日を指定する。Wiki記法へコンバートする。

出力ファイル

事例

コード

require 'csv'
require 'net/http'
require 'uri'

class HashtagCloudCsvApi
		TWITTERID_CELL = 0
		TWEET_CELL = 1
		STATUS_CELL = 2
		TIME_CELL = 3
		ICON_CELL =4

		def initialize(hashtag,yyyy=nil,mm=nil,dd=nil)
				@hashtag = hashtag
				if(mm==nil) then
					@readcsv = yyyy
				elsif(yyyy!=nil && mm!=nil && dd!=nil) then
					ymd = yyyy+"-"+mm+"-"+dd
					url = "http://hashtagcloud.net/output-file/type=csv&name="+hashtag+"&start_date="+ymd+"/"+hashtag+"_"+ymd+".csv.txt"
					@readcsv = hashtag+yyyy+mm+dd+".csv"
					open(@readcsv,'wb') do |file|
						file.puts Net::HTTP.get_response(URI.parse(url)).body
					end
				end
		end

		def convertWiki(wikitype,writecsv=nil)
				setWriteCsv(writecsv)
				if(wikitype == "WalWiki") then 
						convertWalWiki
				elsif(wikitype == "Hiki") then
						convertHikiOnFSWiki
				elsif(wikitype == "YukiWiki")then
						convertYukiWiki
				end
		end

		private

		def setWriteCsv(writecsv)
			if(writecsv==nil)then
				@writecsv = @hashtag+".csv"
			else
				@writecsv = writecsv
			end
		end

		def convertYukiWiki
			CSV.open(@writecsv,'w'){ |writer|
				CSV.open(@readcsv,'r'){ |row|
					twitteridurl="http://twitter.com/"+row[TWITTERID_CELL]


					cell_icon = "&link("+row[TWITTERID_CELL]+","+twitteridurl+")"
					cell_time = "&link("+row[TIME_CELL]+","+row[STATUS_CELL]+")"
					cell_tweet =row[TWEET_CELL]
					writer << [nil,cell_icon,cell_tweet,cell_time]
				}
			}
		end
		def convertWalWiki
			CSV.open(@writecsv,'w'){ |writer|
				CSV.open(@readcsv,'r'){ |row|
					twitteridurl="http://twitter.com/"+row[TWITTERID_CELL]


					cell_icon = "[["+row[ICON_CELL]+" "+twitteridurl+"]]"
					cell_time = "[["+row[TIME_CELL]+" "+row[STATUS_CELL]+"]]"
					cell_tweet =""""+row[TWEET_CELL]+""""
					writer << [nil,cell_icon,cell_tweet,cell_time]
				}
			}
		end

		def convertHikiOnFSWiki
			CSV.open(@writecsv,'w','||'){ |writer|
				writer << [nil,"icon","tweet","datetime"]
				CSV.open(@readcsv,'r'){ |row|
					twitteridurl="http://twitter.com/"+row[TWITTERID_CELL]


					cell_icon = row[ICON_CELL]
					cell_time = "[["+row[TIME_CELL]+"|"+row[STATUS_CELL]+"]]"
					cell_tweet =""""+row[TWEET_CELL]+""""
					writer << [nil,cell_icon,cell_tweet,cell_time]
				}
			}
		end
end

# ハッシュタグ,年,月,日
csv = HashtagCloudCsvApi.new("dbsj_soc","2010","06","30")
# Wiki記法タイプ(WalWiki,Hiki,YukiWiki),出力ファイル名(省略可)
csv.convertWiki("YukiWiki")

古いバージョン

更新履歴