Введение в Grab

Для начала нужно проимпортировать нужные вещи:

from grab import Grab

Теперь создадим рабочий объект:

g = Grab()

Запросим главную страницу сайта livejournal:

g.go('http://livejournal.com')

И выведем содержимое тэга title:

print g.xpath_text('//title')

Если вы хотите отправить POST-запрос, это можно сделать так:

g.setup(post={'key1': 'value1})
g.go('http://...')

Посмотреть кукисы, заголовки, код ответы можно в объекте response:

g.go('http://...')
print g.response.cookies['sid']
print g.response.headers['Content-Type']
print g.response.code

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

С помощью Grab удобно обрабатывать формы:

g.go('some log-in page')
g.set_input('user', 'foo')
g.set_input('password', 'bar')
g.submit()

Вот так можно найти информацию в теле ответа по XPATH:

print g.xpath('//div[@id="error"]').text_content()

А так можно пробежаться по элементам:

for elem in g.xpath_list('//h3'):
    print elem.text

Об этих и многих других вещах читайте в Документация Grab