Skip to content

we256681/parser-py

Repository files navigation

parser-py

Проект для скачивания файлов с использованием Selenium

Требования

  • Python 3.7+
  • Selenium 4.x
  • ChromeDriver, соответствующий вашей версии Chrome

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/your_username/your_project.git

2. Установите зависимости:

   ```bash
   pip install -r requirements.txt
   ```

3. Настройте файл конфигурации `src/config.py`.

4. Запустите проект:

   ```bash
   python src/main.py
   ```

## Логирование

Логи о скачанных файлах сохраняются в `logs/download_log.txt`.

```

Вот пример файла `README.md` для вашего проекта. Этот файл будет содержать описание проекта, инструкцию по установке, настройке и использованию, а также описание структуры проекта.

````markdown
# Проект для скачивания файлов с использованием Selenium

Этот проект предоставляет решение для автоматизированного скачивания файлов с веб-страниц. Он использует Selenium для взаимодействия с браузером, позволяет загружать куки, настраивать параметры скачивания через графический интерфейс и сохранять настройки для будущего использования.

## Требования

- Python 3.7+
- Selenium 4.x
- ChromeDriver, соответствующий вашей версии Google Chrome

### Установка

1. **Клонировать репозиторий**:
   
   Если у вас еще нет репозитория, клонируйте его с помощью Git:
   ```bash
   git clone https://github.com/your-username/your-repository.git
  1. Установите зависимости:

    Перейдите в папку проекта и установите все необходимые зависимости:

    cd your-repository
    pip install -r requirements.txt
  2. Настройка ChromeDriver:

    Убедитесь, что у вас установлен ChromeDriver, который соответствует версии вашего браузера Google Chrome. Вы можете скачать его здесь.

    Укажите путь к chromedriver в настройках проекта (файл config.py или через интерфейс).

Запуск проекта

  1. Запуск интерфейса:

    Запустите графический интерфейс для редактирования и сохранения настроек с помощью команды:

    python src/main.py
  2. Использование интерфейса:

    В интерфейсе можно настроить следующие параметры:

    • Путь к chromedriver: Укажите путь к вашему chromedriver.
    • URL страницы для парсинга: Введите URL сайта, с которого будут скачиваться файлы.
    • Путь к файлу куков: Укажите путь к файлу с куками для авторизации на сайте (если требуется).
    • Папка для скачивания файлов: Выберите папку, куда будут сохраняться скачанные файлы.
    • Максимальное количество потоков: Настройте количество потоков для параллельного скачивания.
    • Расширения файлов: Укажите расширения файлов, которые должны быть скачаны (например, .docx, .pdf, .xlsx).
  3. Сохранение настроек:

    Все настройки сохраняются в файл settings.json и могут быть выбраны в дальнейшем. Это позволяет легко перенастроить программу под разные задачи.

Структура проекта

your_project/
│
├── src/
│   ├── main.py                     # Основной скрипт программы с интерфейсом
│   ├── settings_manager.py          # Логика для управления настройками
│   └── config.py                   # Конфигурация и загрузка настроек
│
├── logs/
│   └── download_log.txt            # Лог-файл для записи информации о скачанных файлах
│
├── downloads/                      # Папка для хранения скачанных файлов
├── settings.json                   # Файл для сохранения пользовательских настроек
└── requirements.txt                # Зависимости проекта

Описание файлов

  1. src/main.py:

    • Основной скрипт, который запускает графический интерфейс и обрабатывает логику работы программы.
  2. src/settings_manager.py:

    • Модуль для управления настройками, включая сохранение и загрузку параметров (например, количество потоков и расширения файлов).
  3. src/config.py:

    • Загружает текущие настройки из файла settings.json и предоставляет их в других частях программы.
  4. settings.json:

    • Файл для хранения настроек пользователя, включая путь к chromedriver, URL, параметры скачивания и другие настройки.
  5. logs/download_log.txt:

    • Лог-файл, в который записываются все успешные и неудачные попытки скачивания файлов.

Пример конфигурации settings.json:

{
    "CHROMEDRIVER_PATH": "path/to/chromedriver",
    "START_URL": "http://example.com",
    "COOKIES_PATH": "cookies/cookies.json",
    "DOWNLOAD_FOLDER": "downloads",
    "MAX_WORKERS": 4,
    "FILE_EXTENSIONS": [".docx", ".pdf", ".xlsx"]
}

Примечания

  • Если в процессе скачивания файлов возникают ошибки, они будут записаны в лог-файл logs/download_log.txt.
  • Для использования функции загрузки файлов с защищённых сайтов вам может понадобиться создать файл с куками (cookies.json), который используется для авторизации на сайте.
  • Важно: Убедитесь, что версия chromedriver соответствует версии вашего браузера Google Chrome, иначе Selenium не сможет запустить браузер.

Вклад в проект

Если у вас есть предложения по улучшению проекта или хотите внести изменения, создайте pull request. Мы приветствуем любые предложения!

Лицензия

Этот проект лицензирован под MIT License — см. LICENSE для подробностей.


### Пояснение:

- **Описание проекта**: В начале файла объясняется, что делает проект и какие инструменты используются (Selenium, Python).
- **Требования и установка**: Приведены шаги по установке зависимостей и настройке окружения.
- **Запуск**: Описание того, как запустить проект, как использовать интерфейс и как сохранить настройки.
- **Структура проекта**: Перечислены все файлы и папки, их назначение и краткие пояснения.
- **Пример конфигурации**: Пример содержимого `settings.json`, чтобы пользователи могли увидеть, как настроить программу.
- **Примечания**: Включены рекомендации по настройке и использованию, чтобы избежать типичных ошибок.
- **Вклад в проект**: Призыв к сообществу вносить предложения или изменения в проект.
- **Лицензия**: Указание на лицензию, если таковая имеется.

Этот `README.md` должен предоставить полную информацию для того, чтобы другие пользователи могли быстро понять, как настроить и использовать ваш проект.

About

parser-py

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages