首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在自定义HtmlResponse中获取CacheStorage类型

如何在自定义HtmlResponse中获取CacheStorage类型
EN

Stack Overflow用户
提问于 2018-03-11 01:53:06
回答 1查看 46关注 0票数 0

我正在用scrapy编写一个自定义的缓存后端,我想将其保存到elasticsearch中,以便进行全文搜索。我得到的默认响应类型是scrapy.http.response.Response,它包含字节,当我试图对字符串进行编码时,它会转到类似于这个\u001f�\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003�}�r۸��o�j�\u0001f���\u0019�C�-۲��|N2;�q�Φ���\u000b\"!�6Er\bҲN���\u001a�o�e\u001fe�d�\u001b EJ�,[ά�Ιql\u0012\u0004\u001a�F���h的地方。

所以问题是,我如何才能在HtmlResponse中得到store_response类型的响应,这样我就可以得到实际的文本!我查了一下设置计数找到了。

代码语言:javascript
复制
class ESCacheStorage(object):

    ....
    ....

    def store_response(self, spider, request, response):
        print("response type is {}".format(type(response)))
        # response type is <class 'scrapy.http.response.Response'>
        # But i want response type <class 'scrapy.http.response.HtmlResponse'>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-11 03:43:53

COMPRESSION_ENABLED': Falsesettings.py中解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49215863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档