GVKun编程网logo

Scrapy:为什么我的响应对象没有body_as_unicode方法?(响应后无法调用senderror)

17

本文将带您了解关于Scrapy:为什么我的响应对象没有body_as_unicode方法?的新内容,同时我们还将为您解释响应后无法调用senderror的相关知识,另外,我们还将为您提供关于bash–

本文将带您了解关于Scrapy:为什么我的响应对象没有body_as_unicode方法?的新内容,同时我们还将为您解释响应后无法调用senderror的相关知识,另外,我们还将为您提供关于bash – 为什么我的终端输出unicode字符不正确?、javascript中String.fromCharCode方法传入的是unicode码吗?、JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)、JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)_基础知识的实用信息。

本文目录一览:

Scrapy:为什么我的响应对象没有body_as_unicode方法?(响应后无法调用senderror)

Scrapy:为什么我的响应对象没有body_as_unicode方法?(响应后无法调用senderror)

我写了一只蜘蛛,第一次工作非常出色。我第二次尝试运行它时,它并没有冒险start_urls。我尝试fetch输入urlscrapyshellHtmlXPathSelector从返回的响应中创建一个对象。那是我得到错误时

因此,步骤如下:

[scrapy shell] fetch(''http://example.com'') #its something other than example.[scrapy shell] from scrapy.selector import HtmlXPathSelector[scrapy shell] hxs = HtmlXPathSelector(response)---------------------------------------------------------------------------

追溯:

AttributeError                            Traceback (most recent call last)<ipython-input-3-a486208adf1e> in <module>()----> 1 HtmlXPathSelector(response)/home/codefreak/project-r42catalog/env-r42catalog/lib/python2.7/site-packages/scrapy/selector/lxmlsel.pyc in __init__(self, response, text, namespaces, _root, _expr)     29                 body=unicode_to_str(text, ''utf-8''), encoding=''utf-8'')     30         if response is not None:---> 31             _root = LxmlDocument(response, self._parser)     32      33         self.namespaces = namespaces/home/codefreak/project-r42catalog/env-r42catalog/lib/python2.7/site-packages/scrapy/selector/lxmldocument.pyc in __new__(cls, response, parser)     25         if parser not in cache:     26             obj = object_ref.__new__(cls)---> 27             cache[parser] = _factory(response, parser)     28         return cache[parser]     29/home/codefreak/project-r42catalog/env-r42catalog/lib/python2.7/site-packages/scrapy/selector/lxmldocument.pyc in _factory(response, parser_cls)     11 def _factory(response, parser_cls):     12     url = response.url---> 13     body = response.body_as_unicode().strip().encode(''utf8'') or ''<html/>''     14     parser = parser_cls(recover=True, encoding=''utf8'')     15     return etree.fromstring(body, parser=parser, base_url=url)

错误:

AttributeError: ''Response'' object has no attribute ''body_as_unicode''

我是忽略了非常明显的东西还是偶然发现了刮y的错误?

答案1

小编典典

body_as_unicode是TextResponse的方法。如果http响应包含文本内容,则scrapy将创建TextResponse或其子类之一(例如HtmlResponse)。

In [1]: fetch(''http://scrapy.org'')...In [2]: type(response)Out[2]: scrapy.http.response.html.HtmlResponse...In [3]: fetch(''http://www.scrapy.org/site-media/images/logo.png'')...In [4]: type(response)Out[4]: scrapy.http.response.Response

在您的情况下,最可能的解释是scrapy认为回复中没有文字。

来自服务器的HTTP响应是否正确设置了Content-Type标头?是否可以在浏览器中正确呈现?这些问题将有助于了解它是预期的行为还是错误。

bash – 为什么我的终端输出unicode字符不正确?

bash – 为什么我的终端输出unicode字符不正确?

例如,我的终端这样做:
$ echo -e "\xE2\x98\xA0"
���

我期望它这样做:

$ echo -e "\xE2\x98\xA0"
☠

为什么?如何使我的终端输出正确的unicode符号?

我在Arch Linux上使用Gnome 3的终端。

语言环境的输出显示:

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
如果您不能更改/ etc / *文件,您可以手动设置gnome-terminal菜单终端|设置字符编码为Unicode(Utf-8)

javascript中String.fromCharCode方法传入的是unicode码吗?

javascript中String.fromCharCode方法传入的是unicode码吗?

比如javascript中方法
var str=String.fromCharCode(119,119,119,46,100,114,101,97,109,100,117,46,99,111,109);
按方法说明传入的是unicode码,怎么和\u开头的unicode不一样呢。

JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)

JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)

JavaScript fromCharCode 方法

fromCharCode 方法用于把一个或多个 Unicode 值转换为(大写)字符串,并返回该字符串。其语法如下:

复制代码 代码如下:

String.fromCharCode( num1, num2, ... )

参数说明:

参数 说明
num1/num2 必需。Unicode 编码值

提示:该方法是 String 的静态方法,它的语法应该是 String.fromCharCode(),而不适用于您自己创建的 String 对象。

fromCharCode 方法实例

复制代码 代码如下:

<script language="JavaScript">
document.write(String.fromCharCode(106,98,53,49).toLowerCase());
</script>

运行该例子,输出:

复制代码 代码如下:

jb51

常见的字符 Unicode 值参见《JavaScript onKeyDown 事件》一文。

您可能感兴趣的文章:

JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)_基础知识

JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)_基础知识

javascript fromcharcode 方法

fromCharCode 方法用于把一个或多个 Unicode 值转换为(大写)字符串,并返回该字符串。其语法如下:

复制代码 代码如下:

String.fromCharCode( num1, num2, ... )

参数说明:

参数 说明
num1/num2 必需。Unicode 编码值

提示:该方法是 String 的静态方法,它的语法应该是 String.fromCharCode(),而不适用于您自己创建的 String 对象。

fromCharCode 方法实例

立即学习“Java免费学习笔记(深入)”;

复制代码 代码如下:


运行该例子,输出:

复制代码 代码如下:

jb51

常见的字符 Unicode 值参见《JavaScript onKeyDown 事件》一文。

我们今天的关于Scrapy:为什么我的响应对象没有body_as_unicode方法?响应后无法调用senderror的分享已经告一段落,感谢您的关注,如果您想了解更多关于bash – 为什么我的终端输出unicode字符不正确?、javascript中String.fromCharCode方法传入的是unicode码吗?、JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)、JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)_基础知识的相关信息,请在本站查询。

本文标签: