May 25 2024, 03:05
Beitragslink:
#1
|
|
Usurpator Beiträge: 544 Mitglied seit: 7.Oct 2002 |
(Danke an Hogie, der mich darauf aufmerksam gemacht hat und dran geblieben ist.)
Abload.de stellt seine Dienste ein und wir haben hier viele wertvolle Bilder in Beiträgen, die auf abload.de hochgeladen wurden. Ich habe die aus der Datenbank extrahiert und auf unseren Server geladen. Zugleich musste sowieso am Server was geändert werden, denn ich kam nicht mehr in den Container rein und die DB hätte einen Neustart des Containers nicht überlebt. Ganz sicher bin ich noch nicht, ob wirklich alles so geklappt hat, wie es sollte... Es gab einige Errors und es war wider erwarten doch viel Handarbeit nötig, wie man an der Uhrzeit dieses Postings erkennen kann. Ich stelle mein Download-Script (python3) hier rein, vielleicht nützt es auch anderen Admins. Es ist nicht schön, aber erfüllt seinen Zweck: Alle Bilder von abload.de, die in der Datenbank vorkommen, herunterladen. Input ist Datenbank dump als .sql file, Output sind die Bilddateien. CODE import re import os import requests from time import sleep from urllib.parse import urlparse with open('/tmp/db/database.sql', 'r') as file: sql_content = file.read() url_pattern = r'https?://(?:www\.)?abload\.de/(?:\S+?)\.(?:png|jpe?g|gif)' matches = re.findall(url_pattern, sql_content, re.IGNORECASE) downloaded_urls = set() for url in matches: try: url = url.replace("http://", "https://") url = url.replace("image.php?img=", "img/") headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0' } if "/thumb/" in url: print(f"Skipping {url} - Contains '/thumb/'") continue if url in downloaded_urls: print(f"Skipping {url} - Already downloaded") continue if os.path.exists(os.path.join('/tmp/abload/abload-backup', url.split('/')[-1])): print(f"Skipping {url} - File already exists") continue response = requests.get(url, headers=headers, allow_redirects=True) if response.status_code == 200 and response.headers.get('Content-Type', '').startswith('image'): print(f"Downloading {url}") file_extension = urlparse(url).path.split('.')[-1] with open(f"{url.split('/')[-1]}", 'wb') as file: file.write(response.content) downloaded_urls.add(url) sleep(1) else: print(f"Skipping {url} - Not an image or failed to fetch. Status code: {response.status_code}") except Exception as e: print(f"Error processing {url}: {str(e)}") -------------------- smart & headshop "Popular congresses are the end of the journey of the masses' movement in its quest for democracy." |
|
|
May 25 2024, 17:55
Beitragslink:
#2
|
|
Karussellanschubser Beiträge: 2,963 Mitglied seit: 25.Jan 2007 Aus: DMT-Dom/Salviawelt |
Vielen Dank für deinen Mühe!!
Stimmt, abload.de hat neulich abgeschaltet. Das mit den externen Hostern ist immer etwas problematisch. archive.org gibt es noch, wobei mir da auch schon aufgefallen ist, dass gelegentlich Bilder verschwunden sind. -------------------- Ausgesetzt in der Salviawelt, bei mir habe ich nur meine Bong und ein Feuerzeug. Entitäten werden mich begleiten. Ich zeige Ihnen, wie man hier überlebt!
|
|
|
May 26 2024, 00:11
Beitragslink:
#3
|
|
Salvianaut Beiträge: 3,199 Mitglied seit: 19.Oct 2010 Alter: 49 Aus: Elsass (France), next City: Karlsruhe/Straßbourg |
Scheint prima zu funktionieren, danke!
Ich bin mir noch nicht sicher, was ich für die Zukunft nehmen soll. Ich möchte nur Anbieter, die saubere direct-Links anbieten. directupload.eu scheint zu gehen. Ist nur auf der Website etwas versteckt und erfordert einen Klick mehr, als die html-Links. Die löschen wohl Bilder, die ein Jahr lang nicht aufgerufen werden. Bei hier im Forum geposteten Bildern sollte das aber nie passieren. Oder hat jemand einen besseren Vorschlag? -------------------- angelogen bin ich erst, wenn ich es glaube...
|
|
|
Jul 21 2024, 14:07
Beitragslink:
#4
|
|
Grünschnabel Beiträge: 2 Mitglied seit: 30.Oct 2023 Alter: 40 |
|
|
|
Aktuelles Datum: 7th September 2024 - 14:21 |