Jaki skrypt? Wklej kod tutaj, na forum.
Kopiuj
import requests
from bs4 import BeautifulSoup
def get_print_page_content(url, session):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9",
"Referer": "https://forums.raspberrypi.com/",
}
try:
response = session.get(url, headers=headers)
if response.status_code == 200:
soup = BeautifulSoup(response.content, "html.parser")
# Pobierz zawartość wątku
content = soup.find_all("div", class_="postbody")
return "".join(str(post) for post in content)
else:
print(f"Błąd pobierania strony: {url}, status: {response.status_code}")
return None
except Exception as e:
print(f"Wystąpił błąd: {e}")
return None
def merge_print_pages(base_url, output_file):
all_content = []
start = 0
# Sesja HTTP
session = requests.Session()
while True:
url = f"{base_url}&start={start}"
print(f"Pobieranie: {url}")
content = get_print_page_content(url, session)
if content:
all_content.append(content)
start += 25 # Zwiększamy parametr `start` zgodnie z liczbą postów na stronę
else:
break # Koniec stron lub błąd
# Zapisz scaloną zawartość do pliku HTML
with open(output_file, "w", encoding="utf-8") as f:
f.write("<html><head><meta charset='utf-8'></head><body>")
f.write("".join(all_content))
f.write("</body></html>")
print(f"Zapisano scaloną zawartość do pliku: {output_file}")
# URL wątku z podglądem wydruku
base_url = "https://forums.raspberrypi.com/viewtopic.php?t=364639&view=print"
output_file = "scalony_watek.html"
merge_print_pages(base_url, output_file)