class Mildom_analyze

Attributes

video_id[R]
videoinfo[R]
videoinfo_request_status[R]

Public Class Methods

new(url) click to toggle source
# File lib/site_list/mildom_analyze.rb, line 14
def initialize(url)
    @VIDEOINFO_REQEST_URL="https://cloudac.mildom.com/nonolive/videocontent/playback/getPlaybackDetail?v_id="
    @VIDEOINFO_REQEST_PARAMETER="&__platform=web"
    @CHAT_REQEST_URL="https://cloudac.mildom.com/nonolive/videocontent/chat/replay?video_id="
    @CHAT_REQEST_PARAMETER="&time_offset_ms="

    @video_url=url
    @video_id=videoid_get()
    @videoinfo,@videoinfo_request_status=request_json_parse(@VIDEOINFO_REQEST_URL+@video_id+@VIDEOINFO_REQEST_PARAMETER)
    @chatlog_filepath="./"+@video_id+".txt"
end

Public Instance Methods

chat_scrape(log_flag=true,log_path=@chatlog_filepath) click to toggle source
# File lib/site_list/mildom_analyze.rb, line 37
def chat_scrape(log_flag=true,log_path=@chatlog_filepath)

    chat_list=[]
    next_time=0
    time_length=@videoinfo["body"]["playback"]["video_length"]

    while next_time<=time_length do

        chat_body=chat_body_get(next_time)
        chat_body["body"]["models"][0]["detail"][0..-1].each do |chat|
            chat_list.push chat
        end

        next_time=chat_body["body"]["models"][0]["summary"]["end_offset_ms"]
        progressbar(next_time,time_length)
        sleep(1)
    end

    file_write(chat_list,log_flag,log_path)
    return chat_list
end

Private Instance Methods

chat_body_get(next_time) click to toggle source
# File lib/site_list/mildom_analyze.rb, line 60
def chat_body_get(next_time)
    next_url=chat_nextpage_get(next_time)
    chat_body,_=request_json_parse(next_url)
    return chat_body
end
chat_nextpage_get(time_key) click to toggle source
# File lib/site_list/mildom_analyze.rb, line 32
def chat_nextpage_get(time_key)
    return @CHAT_REQEST_URL+@video_id+@CHAT_REQEST_PARAMETER+time_key.to_s
end
videoid_get() click to toggle source
# File lib/site_list/mildom_analyze.rb, line 27
def videoid_get()
    return @video_url.split("/")[5].split("&")[0]
end