本文将带您了解关于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)
- bash – 为什么我的终端输出unicode字符不正确?
- javascript中String.fromCharCode方法传入的是unicode码吗?
- JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
- JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)_基础知识
Scrapy:为什么我的响应对象没有body_as_unicode方法?(响应后无法调用senderror)
我写了一只蜘蛛,第一次工作非常出色。我第二次尝试运行它时,它并没有冒险start_urls
。我尝试fetch
输入urlscrapyshell
并HtmlXPathSelector
从返回的响应中创建一个对象。那是我得到错误时
因此,步骤如下:
[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字符不正确?
$ 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=
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 方法
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>