scrapy/scrapy — pull request #818 by darkrho (2014-07-27 00:44:57+00:00)
Title: Added methods to temporarily override the item loader's selector.

This changes aim to reduce the repeated use of xpath/css prefixes. For
instance, the next piece of code
```python
il.add_css('name', '#container .foo a::text')
il.add_css('url', '#container .foo a::attr(url)')
il.add_css('text', '#container .foo p')
```
can be written as
```python
with il.push_css('#container .foo'):
il.add_css('name', 'a::text')
il.add_css('url', 'a::attr(url)')
il.add_css('text', 'p')
```
The new ItemLoader methods are:

* `push_selector(selector)` where selector is a instance of `Selector`
class.
* `push_xpath(xpath)` where xpath is a xpath expression.
* `push_css(css)` where css is a css expression.

TODO: docs