Простой парсер товаров с Amazon с помощью BeautifulSoup

Тема в разделе "Python", создана пользователем Dotrox, 31 авг 2016.

  1. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.052
    Симпатии:
    779
    Для знакомства с парсингом на Python и таким прекрасным инструментом для этого, как BeautifulSoup, напишем небольшой парсер товаров с Amazon.
    В данном примере я буду использовать Python 2.7, для 3.x нужно будет внести некоторые правки.
    Из библиотек нам понадобится BeautifulSoup и requests, а также time для задания паузы между обращениями к серверу Amazon, чтоб парсер не забанили. Вместо requests можно использовать urllib2, но это добавит ручной работы.

    Для примера будем парсить категорию мониторов:


    Основной контент здесь находится в блоке #mainResults. Контейнер отдельного товара имеет класс s-result-item.
    На странице категории нас будут интересовать только ссылки на отдельные товары, а информацию о товарах будем брать со страниц товаров.

    1. Импортируем необходимые библиотеки, прописываем заголовок с User-agent, чтоб выдать себя за браузер и отправляем GET запрос к Amazon с помощью Requests:


    2. Теперь надо создать экземпляр BeautifulSoup и передать в него содержимое полученной страницы.


    3. Теперь соберём со страницы ссылки на товары.


    4. Получив список ссылок на товары можно начать обход страниц товаров и получение информации о каждом товаре.


    После работы парсера вы должны увидеть нечто подобное:


    Полный код из этой статьи выглядит так:
     
    Последнее редактирование: 23 ноя 2016
    Zulus, Jess23, samuel_L и ещё 1-му нравится это.