Grab for python 3

Welcome to Grab’s documentation!¶

Grab is a python framework for building web scrapers. With Grab you can build web scrapers of various complexity, from simple 5-line scripts to complex asynchronous website crawlers processing millions of web pages. Grab provides an API for performing network requests and for handling the received content e.g. interacting with DOM tree of the HTML document.

There are two main parts in the Grab library:

1) The single request/response API that allows you to build network request, perform it and work with the received content. The API is built on top of urllib3 and lxml libraries.

2) The Spider API to build asynchronous web crawlers. You write classes that define handlers for each type of network request. Each handler is able to spawn new network requests. Network requests are processed concurrently with a pool of asynchronous web sockets.

Table of Contents¶

Grab User Manual¶

  • Grab Installation
    • Installation on Linux
    • Installation on Windows
    • Installation on MacOS
    • Dependencies
    • Building test environment
    • Run tests
    • Github Testing
    • Test Coverage
    • Linters
    • Make a request
    • Creating POST requests
    • Response Content
    • Response Status Code
    • GET Request
    • POST Request
    • PUT Request
    • Other Methods
    • Grab Config Object
    • Grab Instance Cloning
    • Network options
    • Proxy Options
    • Response Processing Options
    • Debugging
    • Using the logging module
    • Logging messages about network request
    • Custom headers
    • HTTP 301/302 Redirect
    • Original and Destination URLs
    • Network Errors
    • Network Timeout
    • Why does encoding matter?
    • Encoding Detection Algorithm
    • Setting the encoding manually
    • Custom Cookies
    • Basic Usage
    • Proxy List Support
    • Automatic Proxy Rotation
    • Getting Proxy From Proxy List
    • String search
    • Regexp Search
    • Response Object
    • Urllib3 transport
    • Use your own transport

    Grab::Spider User Manual¶

    Grab::Spider is a framework to build well-structured asynchronous web-site crawlers.

    • What is Grab::Spider?
    • Task Object
      • Constructor of Task Class
      • Task Object as Data Storage
      • Cloning Task Object
      • Setting Up Initial Tasks
      • Explicit Ways to Add New Task
      • Default Grab Instance
      • Task Priorities
      • Tasks Queue Backends
      • Rules of Network Request Handling
      • Network Errors
      • Handling of Failed Tasks
      • Manual Processing of Failed Tasks
      • Error Statistics

      API Reference¶

      Using the API Reference you can get an overview of what modules, classes, and methods exist, what they do, what they return, and what parameters they accept.

      Indices and tables¶

      © Copyright 2015 – 2023, Gregory Petukhov Revision 35e44c24 .

      Versions latest stable v0.6.41-doc Downloads pdf html epub On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.

      Источник

      Grab — фреймворк для парсинга сайтов¶

      Документация на русском языке устарела и может содержать ошибки. Пожалуйста, используйте английскую документацию для получения актуальной информации о библиотеке Grab.

      Grab — библиотека для работы с сетевыми документами. Основные области использования Grab:

      • извлечение данных с веб-сайтов (site scraping)
      • работа с сетевыми API
      • автоматизация работы с веб-сайтами, например, регистратор профилей на каком-либо сайте

      Grab состоит из двух частей:

      • Главный интерфейс Grab для создания сетевого запроса и работы с его результатом. Этот интерфейс удобно использовать в простых скриптах, где не нужна большая многопоточность, или непосредственно в python-консоли.
      • Интерфейс Spider, позволяющий разрабатывать асинхронные парсеры. Этот интерфейс позволяет, во-первых, более строго описать логику парсера, во-вторых, разрабатывать парсеры с большим числом сетевых потоков.

      Grab сайты¶

      Документация Grab¶

      • Введение в Grab
      • Установка библиотеки Grab
        • Установка под Linux
        • Установка под Windows
        • Способы задания настроек
        • Клонирование
        • Использование logging-системы
        • Нумерация запросов
        • Сохранение запросов и ответов в файлы
        • Настройки
        • Изменение HTTP-заголовков
        • Настройка User-Agent заголовка
        • Настройка Referer заголовка
        • Выбор метода
        • POST-запрос
        • Отправка файлов
        • Ограничение тела ответа
        • Сжатие ответа
        • HTTP-Авторизация
        • Работа с pycurl-дескриптором
        • 301 и 302 редиректы
        • Meta Refresh редиректы
        • Для чего нужно знать кодировку
        • Алгоритм определения кодировки
        • Опция задания кодировки
        • Настройка кукисов
        • Работа с файлом кукисов
        • Сетевые ошибки
        • Таймауты
        • Режим повторных запросов
        • Настройка прокси-сервера
        • Работа со списками прокси
        • Объект Reponse
        • Используемые библиотеки
        • Структура расширений
        • Поддержка python 3
        • Автоматическая обработка форм
        • Отправка формы
        • Отправка файлов
        • Интерфейс к LXML библиотеке
        • DOM-дерево
        • XPATH-методы
        • CSS-методы
        • Обработка исключений
        • Поиск строк
        • Поиск регулярных выражений
        • PyQuery расширение
        • BeautifulSoup расширение
        • Что такое транспорт
        • Транспорт pycurl
        • Транспорт urllib
        • Транспорт selenium
        • Пул заданий
        • Блокировка файла
        • Логирование Grab-активности в файл
        • Фильтрация строк в файле
        • Обработка HTML
        • Работа с LXML-элементами
        • Работа с регулярными выражениями
        • Работа с текстом
        • Работа с http-заголовками

        Документация Grab:Spider¶

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

Оцените статью