Домашнее задание к четвёртой лекции

1. Краулер

Краулер - это такое ПО, которое заходит на сайт, вытаскивает из него какую-то информацию, находит все ссылки на другие сайты и идёт на каждый из них (это если совсем по-простому).

На вход подаётся ссылка на страницу, с которой краулер начинает обход и максимальный размер базы знаний (об этом ниже).

Для каждого сайта нужно хранить сайты, которые ссылаются на данный сайт и количество ссылок с каждого сайта на текущий.

База знаний представляет из себя хранилище, в котором хранится информация обо всех найденных сайтах.

При достижении заданного размера базы знаний, обход прекращается.

На выходе ожидается получить представление этой базы знаний в файле (формат не важен).

2. Визуализация графа

Данные, собранные в первом задании, теперь нужно визуализировать.

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

Визуализация - графическое изображение графа, в котором узлами являются сайты, а рёбрами - ссылки с одного сайта на другой. От количества ссылок должно зависить оформление (например, толщина) ребра.

HINT: я бы для этой задачи попробовал NetworkX.

3. Аудио ВК

В этом задании нужно получить доступ к API ВКонтакте и научиться выводить в консоль список аудиозаписей указанного пользователя.

Скрипт на вход получает id пользователя и выводит в консоль названия его записей (или разумное сообщение в случае, если аудио закрыты).

ADVANCED: скрипт может принимать на вход не только id пользователя, но и его nickname (vk.com/{nickname}, он не у всех есть).

4. Друзья ВК

В этом задании нужно получить список друзей указанного пользователя ВК, для каждого друга - количество его аудиозаписей.

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

← к материалам курса