initial commit
This commit is contained in:
34
main.py
Normal file
34
main.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
from bs4 import BeautifulSoup
|
||||||
|
import requests
|
||||||
|
from PIL import Image
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
|
def get_image(html):
|
||||||
|
# get the links
|
||||||
|
soup = BeautifulSoup(html, "lxml")
|
||||||
|
links = []
|
||||||
|
for element in soup.find_all("img", attrs={"draggable": "true"}):
|
||||||
|
src = element.get("src")
|
||||||
|
if "media" in src:
|
||||||
|
links.append(src.replace("&", "&"))
|
||||||
|
|
||||||
|
# get the images
|
||||||
|
images = [Image.open(BytesIO(requests.get(link).content)) for link in links]
|
||||||
|
|
||||||
|
# stitch the images together
|
||||||
|
w = images[0].width
|
||||||
|
h = images[0].height
|
||||||
|
out = Image.new(mode=images[0].mode, size=(w, h * 4))
|
||||||
|
|
||||||
|
for i, image in enumerate(images):
|
||||||
|
out.paste(image, box=(0, h * i))
|
||||||
|
|
||||||
|
# done
|
||||||
|
return out
|
||||||
|
|
||||||
|
def main():
|
||||||
|
with open("input") as f:
|
||||||
|
get_image(f.read().strip()).save("result.png")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user