Skip to content

Commit 9287440

Browse files
add parser.py
1 parent efe0787 commit 9287440

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

parser.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
from selenium.webdriver.chrome.service import Service
4+
from selenium.webdriver.chrome.options import Options
5+
from webdriver_manager.chrome import ChromeDriverManager
6+
import os
7+
import time
8+
9+
# Настройка папки для загрузки файлов
10+
download_folder = os.path.abspath("downloaded_files")
11+
os.makedirs(download_folder, exist_ok=True)
12+
13+
# Настройка опций для Chrome
14+
chrome_options = Options()
15+
chrome_options.add_argument('--headless') # Фоновый режим (можно убрать для отладки)
16+
chrome_options.add_argument('--disable-gpu')
17+
chrome_options.add_argument('--no-sandbox')
18+
chrome_options.add_argument('--disable-dev-shm-usage')
19+
chrome_options.add_experimental_option("prefs", {
20+
"download.default_directory": download_folder, # Папка для загрузки
21+
"download.prompt_for_download": False, # Отключение запросов
22+
"download.directory_upgrade": True, # Автоматическое обновление папки
23+
"safebrowsing.enabled": True # Включение безопасной загрузки
24+
})
25+
26+
# Инициализация драйвера
27+
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
28+
29+
# Открытие целевой страницы
30+
base_url = "https://misis.ru"
31+
page_url = f"{base_url}/students/likvidacia/#tab-1-3"
32+
driver.get(page_url)
33+
time.sleep(5) # Ожидание загрузки страницы
34+
35+
# Поиск всех ссылок на файлы
36+
links = driver.find_elements(By.TAG_NAME, 'a')
37+
for link in links:
38+
href = link.get_attribute('href') # Получение атрибута href
39+
if href and ('.xls' in href or '.xlsx' in href):
40+
if href.startswith("/"): # Если ссылка относительная, добавляем домен
41+
href = base_url + href
42+
try:
43+
print(f"Кликаем по ссылке: {href}")
44+
link.click() # Симуляция клика
45+
time.sleep(2) # Пауза, чтобы файл успел начать загружаться
46+
except Exception as e:
47+
print(f"Ошибка при клике по ссылке {href}: {e}")
48+
49+
# Закрытие браузера
50+
driver.quit()
51+
52+
print(f"Все файлы сохранены в папке: {download_folder}")

0 commit comments

Comments
 (0)