request的构造方法的参数描述

实例:

class Request(url, callback=None,method='GET',headers= None,body=None,cookies=None,
              meta=None,encodings='utf-8',priority=0,dont_filter=False,errback=None,flags=None):
    pass

1.url:必选,用于请求点URl

2.callback:可选,指定一个回掉函数,该回调函数以request对应的response作为第一个参数,如果未指定callback,则默认使用Spider的parse()方法。

3.method:可选。表示请求中的HTTP方法的字符串。这保证是大写的。例如,“GET”、“POST”、“PUT”等

4.meta:可选,指定Request.meta属性的初始值。如果给了该参数,则dict将会浅复制

5..body:可选。如果传进的参数是unicode类型,则它将会被编码为str类型。如果body参数没有给定,则将会存储一个空的string类型。不管这个参数是什么类型的,最终储存的都会是str类型

6.headers:可选,request的头信息,请求头。字典值的类型可以是strings或lists。如果传进的值是None,则HTTP头将不会被发送

7.cookies:可选,请求的cookies。可以被设置成如下两种形式。

  1.Using a dict:

    request_with_cookies = Request(url="http://www.example.com",cookies={'currency':'USD','country':'UY'})

  2.Using a list of dicts:

    request_with_cookies = Request(url="http://www.example.com",cookies=[{'name':'currency','value':'USd','domain':'exa[le.com','path':'/currency'}])    

8.encodings:可选,此请求的编码(默认为'utf-8')。此编码将用于对URL进行百分比编码,并将正文转换为str

9.priority:可选,此请求的优先级(默认为0)。调度程序使用优先级表定义用于处理请求的顺序。具有更高优先级值的请求将更早执行。允许使用 负值以指示相对较低的优先级

10.dont_filter:可选,表示调度程序不应过滤此请求。当用户想要多次执行相同的请求时,可以使用此选项来忽略重复过滤器。小心使用它,否则将进入爬行循环。默认为False

11.可选,如果在处理请求时引发任何异常,则将调用的函数。这包括失败的404 HTTP错误等页面,它接受一个Twisted Failure实例作为第一个参数

 

posted @ 2022-05-05 17:27  安好_世界  阅读(425)  评论(0)    收藏  举报