темный логотип proxyscrape

Руководство по упрощению веб-скрапинга на Python с помощью AutoScraper

Путеводители, Скраппинг, Python, Май-05-20245 минут чтения

AutoScraper - это мощная библиотека для веб-скрепинга на Python с открытым исходным кодом, которая упрощает процесс извлечения данных с веб-сайтов. В отличие от традиционных фреймворков для веб-скреппинга, которые требуют обширного кодирования для анализа HTML-контента, AutoScraper может автоматически генерировать правила для извлечения нужной информации на основе предоставленных вами примеров. AutoScraper особенно хорошо подходит для новичков в мире веб-скрапинга. Удобный интерфейс и автоматическая генерация правил делают его доступным для тех, кто не имеет большого опыта кодирования.   

Ключевые особенности AutoScraper

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

Быстрый запуск AutoScraper

Предположим, что вы хотите поскрести магазин электронной коммерции, не прибегая к разбору HTML. AutoScraper позволит вам ввести названия продуктов в 'wanted_list', и он автоматически изучит структуру HTML и самостоятельно разберет последующие продукты.

Вот наглядный пример, демонстрирующий процесс, включая реализацию прокси:

Шаг 1: Установите AutoScraper

Для начала вам нужно установить AutoScraper. Вы можете сделать это с помощью pip:

из autoscraper import AutoScraper

Шаг 3: Определите URL и список желаемого

Укажите URL-адрес, по которому будет производиться поиск, и элементы или продукты, которые необходимо извлечь. Благодаря этому AutoScraper сможет изучить структуру HTML и точно разобрать все похожие элементы в этой структуре:

url = 'https://books.toscrape.com/'
wanted_list = [
   "Tipping the Velvet",
   "Soumission",
]

Шаг 4: Создайте скребок

Используйте AutoScraper для создания модели скрапбукинга:

    scraper = AutoScraper()
    
    proxies = {
        "http": 'http://test_user112:[email protected]:6060',
        "https": 'http://test_user112:[email protected]:6060',
    }
    #  if you wish to use the same scraper again
    scraper.save('books_to_scrape')
    result = scraper.build(url, wanted_list, request_args=dict(proxies=proxies))
    print(result)

Шаг 5: (Необязательно) Используйте предыдущий скребок

    scraper = AutoScraper()

   scraper.load('books_to_scrape')

    результат = scraper.get_result(url)

Выходные данные, генерируемые кодом:

["A Light in the ...", 
'Tipping the Velvet', 
'Soumission', 
'Sharp Objects', 
'Sapiens: A Brief History ...', 
' Красный реквием', ' Грязные маленькие секреты...', 
'The Coming Woman: A ...', 
'The Boys in the ...', 
'The Black Maria', 
'Голодные сердца(Треугольная торговля...', 
"Сонеты Шекспира", 
'Set Me Free', 
"Драгоценный маленький Скотт Пилигрим...", 
'Rip it Up and ...', 
'Our Band Could Be ...', 
'Olio', 
'Mesaerion: The Best Science ...', 
'Либертарианство для начинающих', 
'It's Only the Himalayas', 
'A Light in the Attic', 
'Sapiens: Краткая история человечества', 
' Грязные маленькие секреты получения работы своей мечты', 
'The Coming Woman: Роман, основанный на жизни знаменитой феминистки Виктории Вудхалл", 
'The Boys in the Boat: Девять американцев и их эпический поход за золотом на Олимпийских играх 1936 года в Берлине", 
"Голодные сердца(Трилогия "Треугольная торговля",#1)", 
"Драгоценная маленькая жизнь Скотта Пилигрима (Скотт Пилигрим #1)", 
'Rip it Up and Start Again', 
'Our Band Could Be Your Life: Scenes from the American Indie Underground,  1981-1991", 
'Mesaerion: The Best Science Fiction Stories  1800-1849'].

Ограничения

  Одним из основных ограничений AutoScraper является то, что он не поддерживает рендеринг JavaScript или динамически загружаемые данные. Но не волнуйтесь, решение есть! Используя библиотеки Python, такие как Selenium или Playwright, которые работают с динамическими данными, мы можем получить HTML-данные, а затем позволить Autoscraper позаботиться об их разборе за нас.
Если ваш целевой сайт использует защиту от ботов, на ProxyScrape мы предлагаем надежный API для веб-скрапинга, который позаботится обо всем за вас, делая процесс сбора данных легким и эффективным.
Вот пример того, как вы можете использовать наш API для веб-скрапинга с AutoScraper:  

import requests
from autoscraper import AutoScraper


def send_request(url_to_scrape):
    api_key = 'your_api_key' 
    data = {
        "url": url_to_scrape,
        "browserHtml": True  # Use browserHtml for JavaScript rendering
    }
    headers = {
        "Content-Type": "application/json",
        "X-Api-Key": api_key
    }

    response = requests.post("https://api.proxyscrape.com/v3/accounts/freebies/scraperapi/request",
                             headers=headers, json=data)

    #  we return the html data that web scraping api extracted
    return response.json()['data']['browserHtml']

if __name__ == '__main__':
    target_url = 'https://books.toscrape.com/'

    # get html data using web scraping api
    html_content = send_request(target_url)

    # parse that html data using AutoScraper
    scraper = AutoScraper()

    wanted_list = [
        "Tipping the Velvet",
        "Soumission",
    ]

    result = scraper.build(wanted_list=wanted_list, html=html_content)

    print(result)

Лучшие практики для веб-скрапинга с помощью AutoScraper и прокси-серверов

  • Соблюдайте условия обслуживания сайта: Всегда просматривайте и соблюдайте условия предоставления услуг на сайте, прежде чем приступать к скрапбукингу.
  • Используйте вращающиеся прокси: Чтобы избежать обнаружения и ограничения скорости, используйте вращающиеся прокси, которые часто меняют IP-адреса. ProxyScrape предлагает вращающиеся прокси для жилых и мобильных устройств, которые идеально подходят для этой цели.
  • Дросселирование запросов: Установите задержки между запросами, чтобы имитировать поведение человека и снизить риск быть забаненным.
  • Контролируйте свою деятельность: Регулярно проверяйте работоспособность прокси-серверов и производительность скрепера, чтобы быстро выявлять и устранять любые проблемы.
  • Обновляйтесь: Постоянно обновляйте свои скрипты и списки прокси, чтобы адаптироваться к изменениям в структуре сайтов и ротации IP-адресов прокси.

Заключение

Веб-скрепинг - это мощный инструмент для сбора данных, и при правильном сочетании AutoScraper и прокси-серверов вы сможете раскрыть весь его потенциал. Интегрируя премиум-прокси ProxyScrape, вы обеспечите эффективность, анонимность и бесперебойность вашей деятельности по скраппингу. Мы предоставили вам необходимые элементы для начала работы, если вы хотите более продвинуться в работе с AutoScraper, обратитесь к этой статье.

Готовы повысить свой уровень веб-скрапинга? Начните изучать возможности AutoScraper с ProxyScrape'премиум-прокси уже сегодня. Посетите ProxyScrape чтобы зарегистрироваться и воспользоваться преимуществами наших самых современных прокси-решений.

Если вам нужна помощь в работе с веб-скребком, присоединяйтесь к нашему каналу Discord , где вы сможете найти поддержку.

Счастливого скрапинга!