diff --git a/scrapy/trunk/scrapy/utils/response.py b/scrapy/trunk/scrapy/utils/response.py index 63fa3f686..3e16d92b1 100644 --- a/scrapy/trunk/scrapy/utils/response.py +++ b/scrapy/trunk/scrapy/utils/response.py @@ -4,6 +4,7 @@ scrapy.http.Response objects """ from scrapy.xpath import XPathSelector +from scrapy.http.response import ResponseBody def new_response_from_xpaths(response, xpaths): """Return a new response constructed by applying the given xpaths to the @@ -11,5 +12,5 @@ def new_response_from_xpaths(response, xpaths): """ xs = XPathSelector(response) parts = [''.join([n for n in xs.x(x).extract()]) for x in xpaths] - new_body = ''.join(parts) - return response.replace(body=new_body) + new_body_content = ''.join(parts) + return response.replace(body=ResponseBody(content=new_body_content, declared_encoding=response.body.get_declared_encoding()))