Подумалось, что неплохо было бы выкачать все свои статьи.
Привлёк Чат ЖПТ:
https://mashagpt.link/keXoqF1x5M Получил программку на Python:
import re
import requests
from bs4 import BeautifulSoup
def sanitize_filename(filename):
return re.sub(r'[\/:*?"<>|]', '_', filename)
def fetch_post_links(page_url):
response = requests.get(page_url)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
links = [a['href'] for a in soup.find_all('a', class_='subj-link')]
return links
def fetch_post_content(post_url):
response = requests.get(post_url)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
title_tag = soup.find('span', class_='aentry-post__title-text')
title = title_tag.get_text(strip=True) if title_tag else 'Без заголовка'
content_tag = soup.find('div', class_='aentry-post__text aentry-post__text--view')
content = content_tag.get_text(strip=True) if content_tag else 'Без содержания'
return title, content
def save_posts_to_file(filename, posts):
with open(filename, 'w', encoding='utf-8') as f:
for title, content, link in posts:
f.write(f"Заголовок: {title}\n")
f.write(f"Ссылка: {link}\n")
f.write(f"Содержание:\n{content}\n\n")
print(f"Статьи сохранены в {filename}")
def main():
base_url = "
https://nikitayev.livejournal.com"
skip = 0
posts = []
seen_links = set()
while True:
page_url = f"{base_url}/?skip={skip}"
print(f"Загрузка страницы: {page_url}")
# Получаем ссылки на статьи
new_links = fetch_post_links(page_url)
# Проверяем наличие повторов
if any(link in seen_links for link in new_links):
print("Обнаружены повторяющиеся статьи. Прекращение загрузки.")
break
# Добавляем новые ссылки в множество просмотренных
seen_links.update(new_links)
for link in new_links:
print(f"Обработка статьи: {link}")
title, content = fetch_post_content(link)
posts.append((title, content, link))
skip += 50
if posts:
save_posts_to_file(sanitize_filename(base_url) + '.txt', posts)
else:
print("Статьи не были найдены.")
if __name__ == "__main__":
main()
Результат:
Пользуйтесь ИИ и будет всё хорошо!