赞
踩
作者:Zarten 知乎专栏:Python爬虫深入详解 知乎ID: Zarten 简介: 互联网一线工作者,尊重原创并欢迎评论留言指出不足之处,也希望多些关注和点赞是给作者最好的鼓励 !
Response类用于http下载返回信息的类,它有几个子类:TextResponse 、 HtmlResponse 、 XmlResponse
其中 parse(self, response) 中的response就是HtmlResponse 类型的
class scrapy.http.Response
(url[, status=200, headers=None, body=b'', flags=None, request=None])
参数说明:这些参数跟上一篇Scrapy详解之Request一样,可以参考,这里不再累赘讲述
属性和方法:
url
str 返回的url
status
int http返回的状态码 如: 200 404
headers
dict 返回headers
若要获取特定的值用get('keyname') getlist('keyname')
get('keyname') : 获取指定key的第一个value值 返回str
getlist('keyname') : 获取指定key的所有value值 返回list
body
byte 返回body,若需要返回unicode版本用 TextResponse.text
request
返回Request对象,具体请参考上一篇Scrapy详解之Request,这里不再累赘讲述
meta
返回meta,具体请参考上一篇Scrapy详解之Request,这里不再累赘讲述
flags
返回请求标志,具体请参考上一篇Scrapy详解之Request,这里不再累赘讲述
urljoin
(url)返回的url链接新的url,返回新的url
- print('url:', response.url)
- print('new url:', response.urljoin('Zarten'))
follow
(url, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None, encoding='utf-8', priority=0, dont_filter=False, errback=None)返回Request的实例,跟Request.__init__
的参数一样,唯一不同的是参数url可以是相对的
这个类继承于Response类,增加了编码的功能,用于处理二进制数据,如图像、音视频等
class scrapy.http.TextResponse
(url[, encoding[, ...]])
参数说明:
属性和方法:
text
unicode编码返回body部分,等同于 response.body.decode(response.encoding)
encoding
返回编码方式,返回方式按下面顺序:
1.在class scrapy.http.TextResponse(url[, encoding[, ...]])中传递的encoding
2.在返回的http header中查找
3.在返回的body中查找
4.从body中推断方式,最不可取的一种方式
selector
选择器对象
一般用法:
response.selector.xpath(query)
response.selector.css(query)
也可用下面的2种简介方法
xpath
(query)用法:response.xpath('//p')
css
(query)用法:response.css('p')
body_as_unicode
()等同于 text属性
这个类是上面介绍类(TextResponse )的子类,这个类能自动发现编码方式通过HTML metahttp-equiv
通常在scrapy的spider中,回调函数parse的参数response就是这个类型
这个类也是TextResponse 的子类,能自动发现编码方式通过XML的声明
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。