Guest User

Untitled

a guest
Oct 13th, 2024
1,316
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. from os import system, path, mkdir, getcwd
  2. from bs4 import BeautifulSoup
  3. import requests
  4. from datetime import datetime, timedelta
  5. from fake_useragent import UserAgent
  6.  
  7. class cs:
  8. INFO = '\033[93m'
  9. GREEN = '\033[92m'
  10. RED = '\033[91m'
  11. END = '\033[0m'
  12.  
  13. User_Agent = f'{UserAgent().random}'
  14.  
  15. _ = system("cls")
  16. name = input(f"{cs.INFO}Name: ")
  17. offset = input("Offset: ")
  18. now = datetime.now()
  19.  
  20. # Список ключевых слов для проверки
  21. KEYWORDS = [
  22. "логин", "login", "пароль", "password",
  23. "данные", "данные от аккаунта", "аккаунт",
  24. "аккаунта", "Steam", "Epic Games"
  25. ]
  26.  
  27. def parse(name, day, month, offset):
  28. HEADERS = {
  29. 'User-Agent': User_Agent
  30. }
  31. url = f"https://telegra.ph/{name}-{month}-{day}{offset}"
  32. response = requests.get(url, headers=HEADERS)
  33.  
  34. # Проверка на 404 ошибку
  35. if response.status_code == 404:
  36. print(f"{cs.RED}ERROR | 404 Page Not Found | {day}.{month}{offset}{cs.END}")
  37. return
  38.  
  39. soup = BeautifulSoup(response.content, 'html.parser')
  40.  
  41. # Извлечение текстового контента
  42. text_content = soup.get_text().strip()
  43.  
  44. # Проверка на наличие текста и ключевых слов
  45. if text_content and any(keyword in text_content.lower() for keyword in KEYWORDS):
  46. # Создание директории для сохранения текста
  47. base_dir = f"{getcwd()}/media/{name}"
  48. if not path.isdir(base_dir):
  49. mkdir(base_dir)
  50.  
  51. # Сохранение текста в файл
  52. try:
  53. with open(f"{base_dir}/{month}_{day}_{offset[1:] if offset else ''}.txt", "w", encoding="utf-8") as file:
  54. file.write(text_content)
  55. print(f"{cs.GREEN}SAVE | Text saved | {day}.{month}{offset}{cs.END}")
  56. except Exception as e:
  57. print(f"Error saving text: {e}")
  58. else:
  59. print(f"{cs.RED}SKIP | No keywords found in text | {day}.{month}{offset}{cs.END}")
  60.  
  61. def main():
  62. current_date = now
  63.  
  64. while True:
  65. _month = current_date.month
  66. _day = current_date.day
  67.  
  68. for _offset in range(1, int(offset) + 1):
  69. if _offset == 1:
  70. parse(name, f"{_day:02}", f"{_month:02}", "")
  71. else:
  72. parse(name, f"{_day:02}", f"{_month:02}", f"-{_offset}")
  73.  
  74. # Переход к предыдущему дню
  75. current_date -= timedelta(days=1)
  76.  
  77. # Проверка для завершения по желаемому пределу
  78. if current_date.year < now.year - 1:
  79. break
  80.  
  81. if __name__ == "__main__":
  82. main()
Advertisement
Comments
  • m00ly
    1 year
    # text 0.14 KB | 0 0
    1. Как прописывать нейм игры и глубину поиск, пример можешь дать, если не трудно
Add Comment
Please, Sign In to add comment