コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
ファイル: main.py プロジェクト: SnailDev/v2ex-hot-hub
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)
コード例 #6
0
ファイル: main.py プロジェクト: SnailDev/v2ex-hot-hub
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)
コード例 #7
0
ファイル: main.py プロジェクト: SnailDev/weibo-hot-hub
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)
コード例 #8
0
ファイル: main.py プロジェクト: SnailDev/weibo-hot-hub
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)
コード例 #9
0
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
コード例 #10
0
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)