def saveResponse(resp: Response): if resp: text = resp.text logger.debug('response:%s', text) name = util.current_date() + '.json' file = os.path.join('raw', name) util.write_text(file, text)
def save_brand_raw_response(resp: Response, category: str): """保存品牌榜响应内容 """ if resp: content = resp.text date = util.current_date() filename = '{}.json'.format(category) logger.info('save response:%s', filename) file = os.path.join('raw', date, 'brand', filename) util.write_text(file, content)
def save_raw_response(resp: Response, filename: str): """保存原始响应内容 """ if resp: content = resp.text filename = '{}.json'.format(filename) logger.info('save response:%s', filename) date = util.current_date() file = os.path.join('raw', date, filename) util.write_text(file, content)
def handle_hot_brands(dy: Douyin): """热门品牌 """ categories, resp = dy.get_brand_category() saveRawResponse(resp, 'brand-category') time.sleep(1) brand_map = {} for category in categories: id = category['id'] category = category['name'] brands, resp = dy.get_hot_brand(int(id)) time.sleep(1) saveBrandRawResponse(resp, category) brand_map[category] = brands md = generate_brand_md(brand_map) filename = '{}-brand.md'.format(util.current_date()) file = os.path.join('archives', filename) util.write_text(file, md)
def saveRawResponse(content: str): logger.debug('raw content:%s', content) name = util.current_date()+'.json' file = os.path.join('raw', name) util.write_text(file, content)
def saveArchiveMd(md): logger.debug('archive md:%s', md) name = util.current_date()+'.md' file = os.path.join('archives', name) util.write_text(file, md)
def save_raw_content(content: str, filePrefix: str): filename = '{}-{}.html'.format(filePrefix, util.current_date()) file = os.path.join('raw', filename) util.write_text(file, content)
def save_archive_md(md): logger.debug('archive md:%s', md) name = '{}.md'.format(util.current_date()) file = os.path.join('archives', name) util.write_text(file, md)
def generate_readme(searches, stars, lives, musics): """生成今日readme """ def search(item): word = item['word'] return '1. {}'.format(word) def star(item): name = item['user_info']['nickname'] uid = item['user_info']['uid'] suid = item['user_info']['sec_uid'] url = 'https://www.iesdouyin.com/share/user/{}?sec_uid={}'.format( uid, suid) return '1. [{}]({})'.format(name, url) def live(item): uid = item['user']['id'] suid = item['user']['sec_uid'] nickname = item['user']['nickname'] title = item['room']['title'] roomid = item['room']['id'] user_url = 'https://www.iesdouyin.com/share/user/{}?sec_uid={}'.format( uid, suid) live_url = 'https://webcast.amemv.com/webcast/reflow/'+str(roomid) if not title: title = '看直播' return '1. [{}]({}) - [{}]({})'.format(title, live_url, nickname, user_url) def music(item): info = item['music_info'] title = info['title'] author = info['author'] if 'play_url' in info: play_url = info['play_url']['uri'] return '1. [{}]({}) - {}'.format(title, play_url, author) return '1. {} - {}'.format(title, author) searchMd = '暂无数据' if searches: searchMd = '\n'.join([search(item) for item in searches]) starMd = '暂无数据' if stars: starMd = '\n'.join([star(item) for item in stars]) liveMd = '暂无数据' if lives: liveMd = '\n'.join([live(item) for item in lives]) musicMd = '暂无数据' if musics: musicMd = '\n'.join([music(item) for item in musics]) readme = '' file = os.path.join('template', 'README.md') with open(file) as f: readme = f.read() today = util.current_date() now = util.current_time() readme = readme.replace("{updateTime}", now) readme = readme.replace("{searches}", searchMd) readme = readme.replace("{stars}", starMd) readme = readme.replace("{lives}", liveMd) readme = readme.replace("{musics}", musicMd) filename = '{}-brand.md'.format(today) file = os.path.join('archives', filename) brandMd = '[{}]({})'.format(filename, file) readme = readme.replace("{brands}", brandMd) return readme
def saveRawContent(content: str, filePrefix: str, fileSuffix='json'): logger.debug('raw content:%s', content) name = '{}-{}.{}'.format(filePrefix, util.current_date(), fileSuffix) file = os.path.join('raw', name) util.write_text(file, content)