Парсер сайта (Python)
15 000 руб. за проект
Необходимо написать парсер страниц сайта FCA Register (UK).
I. На входе первого парсера должен подаваться текстовый файл principals.txt со списком уникальных ссылок на страницы FCA Register. См. приложенный файл principals.
Для тестирования предоставляется список из 100 ссылок. См. приложенный файл principals_100_test.
Далее необходимо пропарсить страницы из списка, из них извлечь следующие данные:
- Company name
- Status
- Reference Number
- Contact details
-- Principal place of business (address, phone, fax, email, website)
-- Complaints (contact name, address, phone, fax, email, website)
-- Contacts responsible for insurance distribution (full name, url)
-Basic details
-- Type
-- Companies House Number
-- Current status
-- Status effective date
-- Insurance distribution
- Individuals (all pages)
--Filter: current involvement (by default)
-- Name, url, individual reference number, status
- Appointed representatives / tied agents / PSD or EMD agents
-- Currently attached to (Previously attached to: собирать не требуется)
-- Name, url, insurance distribution, firm reference number, effective from
- Permission (каждый текстовый блок должен быть выделен)
- Trading / brand names
-- Current names
-- Status, name, effective from
Результаты парсинга каждой страницы необходимо сохранить в папку principals в формате json. Название файла должно соответствовать id ссылки (например, 001b000000MfUytAAF.json).
Ссылки из таблицы Appointed representatives должны сохранятся в файл appointed_representatives.txt.
II. На входе второго парсера должен подаваться текстовый файл appointed_representatives.txt со списком уникальных ссылок на страницы FCA Register. См. приложенный файл appointed_representatives в качестве примера.
Страницы из appointed_representatives.txt имеют практически такую же разметку. Исключение – вместо Appointed representatives присутствует таблица Principals (Name, url, firm reference number, effective from, effective to), которую надо пропарсить. Также необходимо пропарсить те же поля что и в случае первого парсера.
Результаты парсинга каждой страницы необходимо сохранить в папку appointed_representatives в формате json. Название файла должно соответствовать id ссылки (например, 001b000000eipIcAAI.json).
Настоятельно рекомендуется использовать библиотеку scrapy для краулера и beautiful soup (lxml's HTML parser) для парсинга. Предыдущая версия сайта отлично парсилась с помощью указанных библиотек. Возможно, возникнет необходимость использования scrapy-splash или scrapy-selenium. Парсинг должен быть в одном потоке, без лишней нагрузки на сайт.
Прежде чем откликаться на заказ просьба ознакомиться с сайтом и убедиться в том что Вы сможете собрать данные (особенно по Individuals и Appointed representatives) и проверить нет ли на сайте блокировок парсинга.
Срок исполнения – 2 дня.
I. На входе первого парсера должен подаваться текстовый файл principals.txt со списком уникальных ссылок на страницы FCA Register. См. приложенный файл principals.
Для тестирования предоставляется список из 100 ссылок. См. приложенный файл principals_100_test.
Далее необходимо пропарсить страницы из списка, из них извлечь следующие данные:
- Company name
- Status
- Reference Number
- Contact details
-- Principal place of business (address, phone, fax, email, website)
-- Complaints (contact name, address, phone, fax, email, website)
-- Contacts responsible for insurance distribution (full name, url)
-Basic details
-- Type
-- Companies House Number
-- Current status
-- Status effective date
-- Insurance distribution
- Individuals (all pages)
--Filter: current involvement (by default)
-- Name, url, individual reference number, status
- Appointed representatives / tied agents / PSD or EMD agents
-- Currently attached to (Previously attached to: собирать не требуется)
-- Name, url, insurance distribution, firm reference number, effective from
- Permission (каждый текстовый блок должен быть выделен)
- Trading / brand names
-- Current names
-- Status, name, effective from
Результаты парсинга каждой страницы необходимо сохранить в папку principals в формате json. Название файла должно соответствовать id ссылки (например, 001b000000MfUytAAF.json).
Ссылки из таблицы Appointed representatives должны сохранятся в файл appointed_representatives.txt.
II. На входе второго парсера должен подаваться текстовый файл appointed_representatives.txt со списком уникальных ссылок на страницы FCA Register. См. приложенный файл appointed_representatives в качестве примера.
Страницы из appointed_representatives.txt имеют практически такую же разметку. Исключение – вместо Appointed representatives присутствует таблица Principals (Name, url, firm reference number, effective from, effective to), которую надо пропарсить. Также необходимо пропарсить те же поля что и в случае первого парсера.
Результаты парсинга каждой страницы необходимо сохранить в папку appointed_representatives в формате json. Название файла должно соответствовать id ссылки (например, 001b000000eipIcAAI.json).
Настоятельно рекомендуется использовать библиотеку scrapy для краулера и beautiful soup (lxml's HTML parser) для парсинга. Предыдущая версия сайта отлично парсилась с помощью указанных библиотек. Возможно, возникнет необходимость использования scrapy-splash или scrapy-selenium. Парсинг должен быть в одном потоке, без лишней нагрузки на сайт.
Прежде чем откликаться на заказ просьба ознакомиться с сайтом и убедиться в том что Вы сможете собрать данные (особенно по Individuals и Appointed representatives) и проверить нет ли на сайте блокировок парсинга.
Срок исполнения – 2 дня.
Отзывы
Очень доволен сотрудничеством. Алексей очень хорошо комуницирует, задает уточняющие вопросы и решает возникшие непредвиденные затруднения. Помимо написания парсера Алексей сам собрал необходимые данные и предоставил их (при том что это было сверх ТЗ). Качество написанного кода тоже на высоте. Рекомендую с ним работать и сам в будущем буду еще обращаться к Алексею.
~ 5 лет
назад
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.