コード例 #1
0
ファイル: main.py プロジェクト: sysofwan/zapfeeds
def get_image_url(soup, url):
    og_image = get_og_property(soup, 'image')
    if og_image:
        return urljoin(url, og_image)
    tw_image = get_twitter_property(soup, 'image')
    if tw_image:
        return urljoin(url, tw_image)
コード例 #2
0
ファイル: miner.py プロジェクト: lidsky/alienknows
def get_preview_picture(soup):
    if soup:
        og_pic = get_og_property(soup, 'image')
        if og_pic:
            return og_pic
        tw_pic = get_twitter_property(soup, 'image')
        if tw_pic:
            return tw_pic
    return ''
コード例 #3
0
ファイル: main.py プロジェクト: sysofwan/zapfeeds
def get_description(soup, feed):
    og_desc = get_og_property(soup, 'description')
    if og_desc:
        return og_desc
    tw_desc = get_twitter_property(soup, 'description')
    if tw_desc:
        return tw_desc
    meta_desc = get_meta_property(soup, 'description')
    if meta_desc:
        return meta_desc
    return clean_html(feed.description)
コード例 #4
0
ファイル: main.py プロジェクト: sysofwan/zapfeeds
def get_title(soup, feed):
    og_title = get_og_property(soup, 'title')
    if og_title:
        return og_title
    tw_title = get_twitter_property(soup, 'title')
    if tw_title:
        return tw_title
    meta_title = get_meta_property(soup, 'title')
    if meta_title:
        return meta_title
    return clean_html(feed.title)
コード例 #5
0
ファイル: miner.py プロジェクト: lidsky/alienknows
def get_metadata_description(soup):
    og_desc = get_og_property(soup, 'description')
    if og_desc:
        return og_desc
    tw_desc = get_twitter_property(soup, 'description')
    if tw_desc:
        return tw_desc
    meta_desc = get_meta_property(soup, 'description')
    if not meta_desc:
        meta_desc = get_meta_property(soup, 'Description')
    if meta_desc:
        return meta_desc
    return ''
コード例 #6
0
ファイル: miner.py プロジェクト: lidsky/alienknows
def get_metadata_title(soup):
    og_title = get_og_property(soup, 'title')
    if og_title:
        return og_title
    tw_title = get_twitter_property(soup, 'title')
    if tw_title:
        return tw_title
    meta_title = get_meta_property(soup, 'title')
    if meta_title:
        return meta_title
    if soup:
        if soup.find('title'):
            return soup.find('title').get_text()
    return ''
コード例 #7
0
ファイル: miner.py プロジェクト: lidsky/alienknows
def get_preview_video(soup):
    #TODO: find using property="twitter:player:url" and "twitter:player:stream:url" 
    # (ref: view-source:https://www.kickstarter.com/projects/1087256999/odiun-a-web-site)
    if soup:
        og_vids = get_og_property(soup, 'video', deep=True)
        for og_vid in og_vids:
            if og_vid.endswith('.mp4'):
                return og_vid
        if len(og_vids) > 0:
            return og_vids[0]
        tw_vid = get_twitter_property(soup, 'player') 
        if tw_vid:
            return tw_vid
        og_vid_url = get_og_property(soup, 'video:url')
        if og_vid_url:
            return og_vid_url
    return ''