Другие расширения — Grab 0.6.30 documentation

### Navigation

- index
- modules |
- next |
- previous |
- Grab 0.6.30 documentation »

# Другие расширения

## PyQuery расширение

Через аттрибут `pyquery()` вам доступен PyQuery объект, связанный с содержимым документа. PyQuery - это наслойка поверх lxml API, позволяющая выбирать элементы с помощью jQuery-селекторов:

    >>> g = Grab()
    >>> g.go('http://yandex.ru')
    <grab.response.Response object at 0x1159b10>
    >>> print g.pyquery('ol.b-news__news li:eq(0)')[0].text_content()
    1. Дальневосточники активно голосуют на выборах президента России

## BeautifulSoup расширение

Через аттрибут `soup()` вы можете обращаться к DOM-дереву документа, через API BeautifulSoup. Обратите внимание, что это расширение не доступно по-умолчаню. Если оно вам нужно, создайте свой класс, унаследованный от классов Grab и `grab.ext.soup.BeautifulSoupExtension`:

    >>> from grab.ext.soup import BeautifulSoupExtension
    >>> class MyGrab(Grab, BeautifulSoupExtension):
    ...     pass
    ...
    >>> g = MyGrab()
    >>> g.go('http://yandex.ru')
    <grab.response.Response object at 0x13ea390>
    >>> g.soup.title
    <title>Яндекс</title>

### Navigation

- index
- modules |
- next |
- previous |
- Grab 0.6.30 documentation »