vf
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin, urlparse
import time
visited = set()
def scrape_links(base_url):
global visited
# Sende eine Anfrage an die Webseite
try:
response = requests.get(base_url)
response.raise_for_status() # Prüfe, ob die Anfrage erfolgreich war
except requests.RequestException as e:
print(f"Fehler beim Abrufen von {base_url}: {e}")
return []
# Analysiere den Inhalt der Webseite
soup = BeautifulSoup(response.text, 'html.parser')
# Finde alle Links auf der Seite
links = set()
for a_tag in soup.find_all('a', href=True):
link = urljoin(base_url, a_tag['href'])
if link not in visited and base_url in link:
links.add(link)
visited.add(link)
time.sleep(0.1) # Wartezeit einfügen, um die Serverlast zu reduzieren
links.update(scrape_links(link)) # Rekursiver Aufruf
return links
if __name__ == "__main__":
# Ersetze dies mit der gewünschten URL
url = 'https://deine-webseite.com'
visited.add(url) # Füge die Start-URL zu den besuchten Links hinzu
extracted_links = scrape_links(url)
# Speichere die extrahierten Links in einer Textdatei
with open('extracted_links.txt', 'w', encoding='utf-8') as file:
for link in extracted_links:
file.write(link + '\n')
print(f"Gesamtanzahl der extrahierten Links: {len(extracted_links)}")
pip install requests beautifulsoup4
Kommentare
Kommentar veröffentlichen