Scrapy 中 Request 对象和 Response 对象的各参数及属性介绍
来凤官员不雅照,朱钟赫,7小游戏 在线小游戏
request 对象
- request构造器方法的参数列表:
- request(url [, callback=none, method='get', headers=none, body=none,cookies=none, meta=none, encoding='utf-8', priority=0,dont_filter=false, errback=none, flags=none])
- 各参数说明:
- url(必选)
- callback
- 页面解析函数,callback类型,request请求对象的页面下载完成后,由该参数指定的页面解析函数解析页面,如果未传递该参数,默认调用spider的parse方法。
- method
- headers
- body
- cookies
- meta
- request 的元数据字典,dict 类型,用于给框架中其他组件传递信息,比如中间件 item pipeline。其他组件可以使用request 对象的 meta 属性访问该元数据字典 (request.meta), 也用于给响应处理函数传递信息。
- encoding
- url 和 body 参数的编码默认为'utf-8'。如果传入的url或body参数是str 类型,就使用该参数进行编码。
- priority
- 请求的优先级,默认值为0,优先级高的请求优先下载。
- dont_filter
- 默认情况下(dont_filter=false),对同一个url地址多次提交下载请求,后面的请求会被去重过滤器过滤(避免重复下载)。如果将该参数置为true,可以使请求避免被过滤,强制下载。例如:在多次爬取一个内容随时间而变化的页面时(每次使用相同的url),可以将该参数设置为true。
- errback
- 请求出现异常或出现http错误时(如404页面不存在)的回调函数。
response 对象
- 概念:
- response 对象用来描述一个http响应,response只是一个基类,根据响应内容的不同有如下子类:
- textresponse
- htmlresponse
- xmlresponse
- 当一个页面下载完成时,下载器依据http响应头部中的content-type信息创建某个response的子类对象。通常一般是htmlresponse子类。
- htmlresponse 对象的属性及方法:
- url
- status
- headers
- http 响应的头部,dict 类型。可以调用get或getlist方法对其进行访问。
- body
- text
- 文本形式的http响应正文,str 类型,它是由 response.body 使用 response.encoding 解码得到的。
- response.text = response.body.decode(response.encoding)
- encoding
- http 响应正文的编码,它的值可能是从http响应头部或正文中解析出来的。
- request
- meta
- 即 response.request.meta, 在构造 request对象时,可将要传递给响应处理函数的信息通过meta参数传入;响应处理函数处理响应时,通过response.meta 将信息取出。
- selector
- selector 对象用于在response 中提取数据。
- xpath(query)
- 使用xpath选择器在response中提取数据;它是 response.selector.xpath 方法的快捷方式。
- css(query)
- 使用 css选择器在response中提取数据;它是 response.selector.css方法的快捷方式。
- urljoin (url)
- 用于构造绝对 url 。当传入的url参数是一个相对地址时,根据response.url 计算出相应的绝对 url。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
python如何查看网页代码
用python查看网页代码的方法:1、使用“import”导入requests包import requests2、使用requests包的get()函数通过网页...
[阅读全文]
-
-
python如何保存文本文件
python保存文本文件的方法:使用python内置的open()类可以打开文本文件,向文件里面写入数据可以用write()函数,写完之后,使用close()函...
[阅读全文]
-
python如何编写win程序
python可以编写win程序。win程序的格式是exe,下面我们就来看一下使用python编写exe程序的方法。编写好python程序后py2exe模块即可将...
[阅读全文]
-
-
-
-
-
-
网友评论