Проект Загрузчик страниц

Уровень: 3

Профессия Python-программист

Научитесь основам работы с HTTP с применением библиотеки requests. Узнаете как работать с HTML DOM средствами библиотеки BeautifulSoup и как производить над документами манипуляции. Попрактикуетесь во взаимодействии с диском — создании файлов и директорий, работе с файловыми путями. А в конце у вас получится удобный и полезный инструмент, применимый в повседневной жизни!

5
шагов
2-4
недели

Проект - важная часть обучения. Тут закрепляются навыки, полученные в курсах и приобретаются новые. Начните профессию, двигайтесь по шагам и приступайте к проекту, когда будете готовы

Иконка профессии Python-программист

Цель

Основная задача этого проекта — закрепить знания о работе с файлами и HTTP, попрактиковаться в обработке ошибок.

Затрагиваемые темы:

  • Активный файловый ввод/вывод.
  • Работа с ошибками и исключениями.
  • Знакомство с модулями os и sys.
  • Работа с DOM и библиотекой BeautifulSoup. Базовые манипуляции над документами.
  • Работа с HTTP и библиотекой requests.

Описание

В рамках данного проекта необходимо реализовать утилиту для скачивания указанного адреса из сети. Принцип ее работы очень похож на то, что делает браузер при сохранении страниц сайтов.

Возможности утилиты:

  • Можно указать папку, в которую нужно положить готовый файл.
  • Утилита скачивает все ресурсы указанные на странице и меняет страницу так, что начинает ссылаться на локальные версии.

Пример использования:

$ page-loader --output=/var/tmp https://hexlet.io/courses

✔ https://ru.hexlet.io/lessons.rss
✔ https://ru.hexlet.io/assets/application.css
✔ https://ru.hexlet.io/assets/favicon.ico
✔ https://ru.hexlet.io/assets/favicon-196x196.png
✔ https://ru.hexlet.io/assets/favicon-96x96.png
✔ https://ru.hexlet.io/assets/favicon-32x32.png
✔ https://ru.hexlet.io/assets/favicon-16x16.png
✔ https://ru.hexlet.io/assets/favicon-128.png

Page was downloaded as 'ru-hexlet-io-courses.html'

О плане «Премиум»

Проект можно пройти, если вы подписаны на план «Премиум». Эта подписка даёт возможность учиться с наставником: консультироваться, парно программировать, перенимать опыт. Наставники — это опытные программисты, прошедшие отбор и дополнительную подготовку на Хекслете.

Преимущества «Премиума»:

  • Доступ к проектам.
  • Проекты не надо оплачивать дополнительно, цена подписки включает один проект в месяц.
  • Взаимодействие с опытным наставником, включая голосовые консультации и парное программирование.
  • Максимально быстрое прохождение профессии благодаря помощи наставника.
  • Стажировка в коммерческих или опенсорс-проектах при прохождении всей профессии с персональным наставником.
  • Содействие в трудоустройстве для самых активных студентов.
Подробнее

Проект Загрузчик страниц

Создайте рабочее приложение, которое станет частью вашего портфолио.

Проект - важная часть обучения. Тут закрепляются навыки, полученные в курсах и приобретаются новые. Начните профессию, двигайтесь по шагам и приступайте к проекту, когда будете готовы

Вопросы и ответы

Какое расписание у проекта?

У проекта нет расписания и вы можете заниматься в удобное для вас время. Доступ к проекту будет пока действует ваша премиум подписка.

Как оплачивается проект?

Проект доступен в рамках подписки на план «Премиум», дополнительная оплата не нужна. В течение месяца можно пройти один проект. Если у вас есть действующая профессиональная подписка, то стоимость премиум подписки будет меньше. Система пересчитает стоимость в зависимости от количества не использованных дней на текущем плане.

Зачем нужны проекты?

Проект помогает реализовать на практике то, что вы узнали на курсах. Важный момент: написанный вами код навсегда остается в вашем репозитории на GitHub. Фактически это ваша первая работа в портфолио.

Что делает наставник в проектах?

Наставник полностью поддерживает вас и делает всё, чтобы вы успешно сдали проекты. Наставник будет отвечать на ваши вопросы, помогать решать проблемы, проверять задания и направлять к правильным решениям. Все шаги в проекте вы проходите с поддержкой наставника.

У меня есть другой вопрос

Пишите нам на support@hexlet.io, вам ответит живой человек из команды Хекслета. Или нажмите на иконку со знаком вопроса в правом нижнем углу экрана. Там есть ответы и на другие вопросы и удобная форма для отправки сообщения нам.

Проект Загрузчик страниц

Создайте рабочее приложение, которое станет частью вашего портфолио.

Проект - важная часть обучения. Тут закрепляются навыки, полученные в курсах и приобретаются новые. Начните профессию, двигайтесь по шагам и приступайте к проекту, когда будете готовы