Module: Tushare::Internet::BoxOffice
Overview
电影票房
Instance Method Summary collapse
-
#day_boxoffice(date = nil) ⇒ Object
获取单日电影票房数据 数据来源:EBOT艺恩票房智库 Parameters —— date:日期,默认为上一日 return ——- DataFrame AvgPrice 平均票价 AvpPeoPle 场均人次 BoxOffice 单日票房(万) BoxOffice_Up 环比变化 (%) IRank 排名 MovieDay 上映天数 MovieName 影片名 SumBoxOffice 累计票房(万) WomIndex 口碑指数.
-
#day_cinema(date = nil) ⇒ Object
获取影院单日票房排行数据 数据来源:EBOT艺恩票房智库 Parameters —— date:日期,默认为上一日 return ——- DataFrame Attendance 上座率 AvgPeople 场均人次 CinemaName 影院名称 RowNum 排名 TodayAudienceCount 当日观众人数 TodayBox 当日票房 TodayShowCount 当日场次 price 场均票价(元).
-
#month_boxoffice(date = nil) ⇒ Object
获取单月电影票房数据 数据来源:EBOT艺恩票房智库 Parameters —— date:日期,默认为上一月,格式YYYY-MM return ——- DataFrame Irank 排名 MovieName 电影名称 WomIndex 口碑指数 avgboxoffice 平均票价 avgshowcount 场均人次 box_pro 月度占比 boxoffice 单月票房(万) days 月内天数 releaseTime 上映日期.
-
#realtime_boxoffice ⇒ Object
获取实时电影票房数据 数据来源:EBOT艺恩票房智库 return ——- DataFrame BoxOffice 实时票房(万) Irank 排名 MovieName 影片名 boxPer 票房占比 (%) movieDay 上映天数 sumBoxOffice 累计票房(万) time 数据获取时间.
Methods included from Util
_code_to_symbol, _write_console, _write_head, check_quarter, check_year, fetch_ftp_file, holiday?, trade_cal
Instance Method Details
#day_boxoffice(date = nil) ⇒ Object
获取单日电影票房数据 数据来源:EBOT艺恩票房智库 Parameters
date:日期,默认为上一日
return
-------
DataFrame
AvgPrice 平均票价
AvpPeoPle 场均人次
BoxOffice 单日票房(万)
BoxOffice_Up 环比变化 (%)
IRank 排名
MovieDay 上映天数
MovieName 影片名
SumBoxOffice 累计票房(万)
WomIndex 口碑指数
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/tushare/internet/box_office.rb', line 55 def day_boxoffice(date = nil) date = if date.nil? 0 else Date.today - Date.parse(date) + 1 end url = format(BOXOFFICE_DAY, P_TYPE['http'], DOMAINS['mbox'], BOX, date, _random) resp = HTTParty.get url return nil if resp.body.length < 15 json = JSON.parse resp result = [] json['data1'].each do |object| %w(MovieImg BoxOffice1 MovieID Director IRank_pro).each do |key| object.delete key end result << object end result end |
#day_cinema(date = nil) ⇒ Object
获取影院单日票房排行数据 数据来源:EBOT艺恩票房智库 Parameters
date:日期,默认为上一日
return
-------
DataFrame
Attendance 上座率
AvgPeople 场均人次
CinemaName 影院名称
RowNum 排名
TodayAudienceCount 当日观众人数
TodayBox 当日票房
TodayShowCount 当日场次
price 场均票价(元)
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/tushare/internet/box_office.rb', line 128 def day_cinema(date = nil) date = Date.today.prev_day.strftime('%F') if date.nil? _write_head result = [] 1.upto(11) do |page| url = format(BOXOFFICE_CBD, P_TYPE['http'], DOMAINS['mbox'], BOX, page, date) resp = HTTParty.get url next if resp.body.length < 15 json = JSON.parse resp.body json['data1'].each do |object| object.delete 'CinemaID' result << object end end result end |
#month_boxoffice(date = nil) ⇒ Object
获取单月电影票房数据 数据来源:EBOT艺恩票房智库 Parameters
date:日期,默认为上一月,格式YYYY-MM
return
-------
DataFrame
Irank 排名
MovieName 电影名称
WomIndex 口碑指数
avgboxoffice 平均票价
avgshowcount 场均人次
box_pro 月度占比
boxoffice 单月票房(万)
days 月内天数
releaseTime 上映日期
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/tushare/internet/box_office.rb', line 93 def month_boxoffice(date = nil) date = Date.today.prev_month.strftime('%Y-%m') if date.nil? raise BOX_INPUT_ERR_MSG if date.length > 8 date += '-01' url = format(BOXOFFICE_MONTH, P_TYPE['http'], DOMAINS['mbox'], BOX, date) resp = HTTParty.get url return nil if resp.body.length < 15 json = JSON.parse resp result = [] json['data1'].each do |object| %w(defaultImage EnMovieID).each do |key| object.delete key end result << object end result end |
#realtime_boxoffice ⇒ Object
获取实时电影票房数据 数据来源:EBOT艺恩票房智库
return
-------
DataFrame
BoxOffice 实时票房(万)
Irank 排名
MovieName 影片名
boxPer 票房占比 (%)
movieDay 上映天数
sumBoxOffice 累计票房(万)
time 数据获取时间
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/tushare/internet/box_office.rb', line 22 def realtime_boxoffice url = format(MOVIE_BOX, P_TYPE['http'], DOMAINS['mbox'], BOX, _random) resp = HTTParty.get url return nil if resp.body.length < 15 json = JSON.parse resp result = [] now = Time.now json['data2'].each do |object| object.delete 'MovieImg' object.delete 'mId' object['time'] = now result << object end result end |