def link_preview(url: str = None, content: str = None, parser: str = "html.parser"): """ Get link preview """ if content is None: try: grabber = LinkGrabber() content = grabber.get_content(url) except InvalidMimeTypeError: content = '' link = Link(url, content) return LinkPreview(link, parser=parser)
def test_twitter_card(tin, tout): link = Link("http://localhost", content=get_sample("twitter-card/%s" % tin)) preview = TwitterCard(link, parser="html.parser") for key in tout.keys(): assert getattr(preview, key) == tout[key]
def test_generic(tin, tout): link = Link("http://localhost", content=get_sample("generic/%s" % tin)) preview = Generic(link, parser="html.parser") for key in tout.keys(): assert getattr(preview, key) == tout[key]
def test_opengraph(tin, tout): link = Link("http://localhost", content=get_sample("open-graph/%s" % tin)) preview = OpenGraph(link, parser="html.parser") for key in tout.keys(): assert getattr(preview, key) == tout[key]
from linkpreview import Link, LinkPreview, LinkGrabber url = "http://github.com" grabber = LinkGrabber( initial_timeout=20, maxsize=1048576, receive_timeout=10, chunk_size=1024, ) content = grabber.get_content(url) link = Link(url, content) preview = LinkPreview(link, parser="lxml") print(preview) print("title:", preview.title) print("description:", preview.description) print("image:", preview.image) print("force_title:", preview.force_title) print("absolute_image:", preview.absolute_image)