- PVSM.RU - https://www.pvsm.ru -

Python / Документация по Grab — библиотеке для парсинга сайтов

Я ранее уже рассказывал на хабре о Grab [1] — библиотеке для парсинга сайтов и о Spider [2] — асинхронном модуле для парсинга. Рад сообщить, что я наконец-то дописал документацию по Grab [3]. Я решил писать всё на русском языке т.к. на английском языке мне труднее выражать мысли. На деле писанины получилось гораздо больше, чем представлялось в начале, но я таки описал практически все функции библиотеки. Я решил просто вставить сюда, оглавление, кликайте на интересный раздел и читайте о возможностях Grab:

Кстати, HTML-код оглавления я подготовал скриптом с использованием Grab:

# coding: utf-8 from grab import Grab from lxml.html import tostring  g = Grab() g.go('http://grablib.org/docs/') g.tree.make_links_absolute('http://grablib.org/docs') elem = g.xpath(u'//h3[text()="Руководство пользователя"]/following-sibling::ul[1]') toc = tostring(elem, encoding='utf-8') print toc 

Официальный сайт библиотеки grab: grablib.org [83]
Вопросы по использованию grab писать лучше не мне в skype/jabber, а в майл-лист: groups.google.com/group/python-grab [84]
Также напоминаю, что мы (grablab) занимаемся парсингом сайтов [85] на заказ, если вам нужно собрать и обработать данные — обращайтесь.

Далее я планирую заняться документированием асинхронного spider модуля.

Автор: itforge


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/3043

Ссылки в тексте:

[1] Grab: http://habrahabr.ru/blogs/python/127584/

[2] Spider: http://habrahabr.ru/blogs/python/134918/

[3] документацию по Grab: http://grablib.org/docs/

[4] Установка библиотеки Grab: http://grablib.org/docs/grab/installation.html

[5] Зависимости: http://grablib.org/docs/grab/installation.html#id1

[6] Установка под Linux: http://grablib.org/docs/grab/installation.html#linux

[7] Установка под Windows: http://grablib.org/docs/grab/installation.html#windows

[8] Настройка Grab-объекта: http://grablib.org/docs/grab/customization.html

[9] Способы задания настроек: http://grablib.org/docs/grab/customization.html#id1

[10] Клонирование: http://grablib.org/docs/grab/customization.html#id2

[11] Отладка запросов: http://grablib.org/docs/grab/debugging.html

[12] Использование logging-системы: http://grablib.org/docs/grab/debugging.html#logging

[13] Нумерация запросов: http://grablib.org/docs/grab/debugging.html#id2

[14] Сохранение запросов и ответов в файлы: http://grablib.org/docs/grab/debugging.html#id3

[15] Полный список настроек: http://grablib.org/docs/grab/options.html

[16] Настройки: http://grablib.org/docs/grab/options.html#id2

[17] Настройка HTTP-заголовков: http://grablib.org/docs/grab/http_headers.html

[18] Изменение HTTP-заголовков: http://grablib.org/docs/grab/http_headers.html#request-headers

[19] Настройка User-Agent заголовка: http://grablib.org/docs/grab/http_headers.html#user-agent

[20] Настройка Referer заголовка: http://grablib.org/docs/grab/http_headers.html#referer

[21] Методы HTTP-запросов: http://grablib.org/docs/grab/http_methods.html

[22] Выбор метода: http://grablib.org/docs/grab/http_methods.html#id1

[23] POST-запрос: http://grablib.org/docs/grab/http_methods.html#post

[24] Отправка файлов: http://grablib.org/docs/grab/http_methods.html#id2

[25] Прочие возможности: http://grablib.org/docs/grab/misc.html

[26] Ограничение тела ответа: http://grablib.org/docs/grab/misc.html#id2

[27] Сжатие ответа: http://grablib.org/docs/grab/misc.html#id3

[28] HTTP-Авторизация: http://grablib.org/docs/grab/misc.html#http

[29] Работа с pycurl-дескриптором: http://grablib.org/docs/grab/misc.html#pycurl

[30] 301 и 302 редиректы: http://grablib.org/docs/grab/misc.html#id4

[31] Meta Refresh редиректы: http://grablib.org/docs/grab/misc.html#meta-refresh

[32] Кодировка документа: http://grablib.org/docs/grab/charset.html

[33] Для чего нужно знать кодировку: http://grablib.org/docs/grab/charset.html#id2

[34] Алгоритм определения кодировки: http://grablib.org/docs/grab/charset.html#id3

[35] Опция задания кодировки: http://grablib.org/docs/grab/charset.html#id4

[36] Работа с кукисами: http://grablib.org/docs/grab/cookies.html

[37] Настройка кукисов: http://grablib.org/docs/grab/cookies.html#id2

[38] Работа с файлом кукисов: http://grablib.org/docs/grab/cookies.html#id3

[39] Обработка сетевых ошибок, таймауты: http://grablib.org/docs/grab/errors.html

[40] Сетевые ошибки: http://grablib.org/docs/grab/errors.html#id2

[41] Таймауты: http://grablib.org/docs/grab/errors.html#id3

[42] Режим повторных запросов: http://grablib.org/docs/grab/errors.html#hammer-mode

[43] Работа с прокси-серверами: http://grablib.org/docs/grab/proxy.html

[44] Настройка прокси-сервера: http://grablib.org/docs/grab/proxy.html#id2

[45] Работа со списками прокси: http://grablib.org/docs/grab/proxy.html#id3

[46] Работа с ответом: http://grablib.org/docs/grab/response.html

[47] Объект Reponse: http://grablib.org/docs/grab/response.html#reponse

[48] Технические детали устройства Grab: http://grablib.org/docs/grab/under_the_hood.html

[49] Используемые библиотеки: http://grablib.org/docs/grab/under_the_hood.html#id1

[50] Структура расширений: http://grablib.org/docs/grab/under_the_hood.html#id2

[51] Поддержка python 3: http://grablib.org/docs/grab/under_the_hood.html#python-3

[52] Работа с формами: http://grablib.org/docs/grab/forms.html

[53] Автоматическая обработка форм: http://grablib.org/docs/grab/forms.html#id2

[54] Отправка формы: http://grablib.org/docs/grab/forms.html#id3

[55] Отправка файлов: http://grablib.org/docs/grab/forms.html#id4

[56] Работа с DOM-деревом: http://grablib.org/docs/grab/dom.html

[57] Интерфейс к LXML библиотеке: http://grablib.org/docs/grab/dom.html#lxml

[58] DOM-дерево: http://grablib.org/docs/grab/dom.html#id3

[59] XPATH-методы: http://grablib.org/docs/grab/dom.html#xpath

[60] CSS-методы: http://grablib.org/docs/grab/dom.html#css

[61] Обработка исключений: http://grablib.org/docs/grab/dom.html#id4

[62] Поиск в тексте документа: http://grablib.org/docs/grab/text_search.html

[63] Поиск строк: http://grablib.org/docs/grab/text_search.html#id2

[64] Поиск регулярных выражений: http://grablib.org/docs/grab/text_search.html#id3

[65] Другие расширения: http://grablib.org/docs/grab/other_extensions.html

[66] Django расширение: http://grablib.org/docs/grab/other_extensions.html#id2

[67] PyQuery расширение: http://grablib.org/docs/grab/other_extensions.html#pyquery

[68] BeautifulSoup расширение: http://grablib.org/docs/grab/other_extensions.html#beautifulsoup

[69] Cетевые транспорты: http://grablib.org/docs/grab/transport.html

[70] Что такое транспорт: http://grablib.org/docs/grab/transport.html#id1

[71] Транспорт pycurl: http://grablib.org/docs/grab/transport.html#pycurl

[72] Транспорт urllib: http://grablib.org/docs/grab/transport.html#urllib

[73] Транспорт selenium: http://grablib.org/docs/grab/transport.html#selenium

[74] Полезные утилиты: http://grablib.org/docs/grab/tools.html

[75] Пул заданий: http://grablib.org/docs/grab/tools.html#id2

[76] Блокировка файла: http://grablib.org/docs/grab/tools.html#id3

[77] Логирование Grab-активности в файл: http://grablib.org/docs/grab/tools.html#grab

[78] Фильтрация строк в файле: http://grablib.org/docs/grab/tools.html#id4

[79] Обработка HTML: http://grablib.org/docs/grab/tools.html#html

[80] Работа с LXML-элементами: http://grablib.org/docs/grab/tools.html#lxml

[81] Работа с регулярными выражениями: http://grablib.org/docs/grab/tools.html#id5

[82] Работа с текстом: http://grablib.org/docs/grab/tools.html#id6

[83] grablib.org: http://grablib.org

[84] groups.google.com/group/python-grab: http://groups.google.com/group/python-grab

[85] парсингом сайтов: http://grablab.org