Skip to content

Instantly share code, notes, and snippets.

@sunwicked
Last active February 23, 2021 18:34
Show Gist options
  • Save sunwicked/0132c3c0ac8e72de44dc6ebab179113f to your computer and use it in GitHub Desktop.
Save sunwicked/0132c3c0ac8e72de44dc6ebab179113f to your computer and use it in GitHub Desktop.
Generate image for sharing to Social sites
from urllib.request import urlopen
from bs4 import BeautifulSoup
from PIL import Image, ImageFont, ImageDraw, ImageEnhance
import requests
def getMeta(link):
external_sites_html = urlopen(link).read()
soup = BeautifulSoup(external_sites_html, "html.parser")
title = soup.title.text
image = ""
description = ""
for meta in soup.findAll("meta"):
title = get_meta_property(meta, "og:title", title)
image = get_meta_property(meta, "og:image", image)
description = get_meta_property(meta, "og:description", description)
return {'title': title, 'image': image, 'desc': description}
def get_meta_property(meta, property_name, default_value=""):
if 'property' in meta.attrs and meta.attrs['property'] == property_name:
return meta.attrs['content']
return default_value
if __name__ == '__main__':
meta =getMeta("https://www.theayurveda.org/ayurveda/vegetable-fruits/12-health-benefits-of-bitter-gourd")
print(meta)
img = Image.open(urlopen(meta["image"]))
new_img =img.resize((700,500),Image.ANTIALIAS)
new_img.save('/Users/mind/PycharmProjects/RocketAnt/images/url.png','png')
source_img = Image.open('/Users/mind/PycharmProjects/RocketAnt/images/url.png').convert("RGBA")
d1 = ImageDraw.Draw(source_img)
d1.rectangle(((0, 400), (700, 500)), fill="black")
d1.text((300, 400), meta["title"])
d1.text((50, 450), meta["desc"])
source_img.save('/Users/mind/PycharmProjects/RocketAnt/images/url.png','png')
source_img.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment