def play_info(self, db_tv_infos): url = 'http://data.video.qq.com/fcgi-bin/data?tid=70&&appid=10001007&appkey=e075742beb866145&callback=callback&low_login=1&idlist={}&otype=json' # noqa play_dir = PLAY_INFO_FILE_DIR + SAVE_FILE utils.mkdir(play_dir) for tv_info in db_tv_infos: if tv_info.type in [u'电视剧']: # print u"抓取《{}》播放信息中".format(tv_info.name) warning_message = u"qq Warning《{}》play_info ,结果不准确\r\n". \ format(tv_info.name) page = request(url.format(tv_info.tv_id)) if not play_info_is_valid_qq(page): utils.log(message=warning_message) continue utils.write(play_dir, tv_info.name + PLAY_INFO_FILE_FIX, page) elif tv_info.type in [u'综艺']: vids = tv_info.vids.split(',') episodes = tv_info.detail_episodes.split(',') for vid, episode in zip(vids, episodes): # print u"抓取《{}》第{}期播放信息中。。。".format(tv_info.name, episode) warning_message = u"qq《{}》第{}期play_info ,结果不准确\r\n". \ format(tv_info.name, episode) page = request(url.format(vid)) if not play_info_is_valid_qq(page): utils.log(message=warning_message) continue utils.write(play_dir, tv_info.name + episode + PLAY_INFO_FILE_FIX, page)
def play_info(self, db_tv_infos): play_dir = PLAY_INFO_FILE_DIR + SAVE_FILE for tv_info in db_tv_infos: if tv_info.type == u'综艺': vids = tv_info.vids.split(',') episodes = tv_info.detail_episodes.split(',') day_play_counts = 0 all_play_counts = 0 for vid, episode in zip(vids, episodes): page = utils.read(play_dir, tv_info.name + episode + PLAY_INFO_FILE_FIX) json_content = play_info_is_valid_qq(page) if not json_content: continue try: play_infos = json_content['results'][0]['fields'] tmp_day_play_counts = play_infos['tdnumc'] or '0' tmp_all_play_counts = play_infos['allnumc'] or '0' all_play_counts += (int)(tmp_all_play_counts) day_play_counts += (int)(tmp_day_play_counts) except: continue if self.now.hour < 1: day_play_counts = 0 PlayInfo.add( tv_id=tv_info.tv_id, tv_name=tv_info.name, day_play_counts=day_play_counts, all_play_counts=all_play_counts, time_at=self.now, platform=PLATFORM, type=u'综艺' ) elif tv_info.type == u'电视剧': page = utils.read(play_dir, tv_info.name + PLAY_INFO_FILE_FIX) json_content = play_info_is_valid_qq(page) if not json_content: continue try: play_infos = json_content['results'][0]['fields'] day_play_counts = play_infos['tdnumc'] or '0' all_play_counts = play_infos['allnumc'] or '0' except: continue if self.now.hour < 1: day_play_counts = 0 PlayInfo.add( tv_id=tv_info.tv_id, tv_name=tv_info.name, day_play_counts=day_play_counts, all_play_counts=all_play_counts, time_at=self.now, platform=PLATFORM, type=u'电视剧' )
def play_info(self, db_tv_infos): play_dir = PLAY_INFO_FILE_DIR + SAVE_FILE for tv_info in db_tv_infos: if tv_info.type == u'综艺': vids = tv_info.vids.split(',') episodes = tv_info.detail_episodes.split(',') day_play_counts = 0 all_play_counts = 0 for vid, episode in zip(vids, episodes): page = utils.read( play_dir, tv_info.name + episode + PLAY_INFO_FILE_FIX) json_content = play_info_is_valid_qq(page) if not json_content: continue try: play_infos = json_content['results'][0]['fields'] tmp_day_play_counts = play_infos['tdnumc'] or '0' tmp_all_play_counts = play_infos['allnumc'] or '0' all_play_counts += (int)(tmp_all_play_counts) day_play_counts += (int)(tmp_day_play_counts) except: continue if self.now.hour < 1: day_play_counts = 0 PlayInfo.add(tv_id=tv_info.tv_id, tv_name=tv_info.name, day_play_counts=day_play_counts, all_play_counts=all_play_counts, time_at=self.now, platform=PLATFORM, type=u'综艺') elif tv_info.type == u'电视剧': page = utils.read(play_dir, tv_info.name + PLAY_INFO_FILE_FIX) json_content = play_info_is_valid_qq(page) if not json_content: continue try: play_infos = json_content['results'][0]['fields'] day_play_counts = play_infos['tdnumc'] or '0' all_play_counts = play_infos['allnumc'] or '0' except: continue if self.now.hour < 1: day_play_counts = 0 PlayInfo.add(tv_id=tv_info.tv_id, tv_name=tv_info.name, day_play_counts=day_play_counts, all_play_counts=all_play_counts, time_at=self.now, platform=PLATFORM, type=u'电视剧')