零星用途 Request 和 Response 用于对网站进行爬网的对象。 通常, Request 对象在spider中生成并在系统中传递,直到它们到达下载程序,下载程序执行请求并返回 Response 返回发出请求的spider的对象。 两个 Request 和 Response 类具有子类,这些子类添加了基类中不需要的功能。这些在下面的 请求子类 和 响应子类 . 请求对象¶- classscrapy.http.Request(*args, **kwargs)[源代码]¶
表示HTTP请求,该请求通常在爬行器中生成并由下载程序执行,从而生成 Response 。 - 参数
url (str) -- 此请求的URL如果该URL无效,则 ValueError 引发异常。 callback (collections.abc.Callable) -- 将使用此请求的响应(一旦下载)作为其第一个参数来调用的函数。有关详细信息,请参阅 向回调函数传递附加数据 下面。如果请求没有指定回调,则爬行器的 parse() 方法。请注意,如果在处理过程中引发异常,则改为调用errback。 method (str) -- 此请求的HTTP方法。默认为 'GET' . meta (dict) -- 的初始值 Request.meta 属性。如果给定,则将浅复制传入此参数的dict。 body (bytes or str) -- 请求主体。如果传递了一个字符串,则使用 encoding 通过(默认为 utf-8 )如果 body 如果未给定,则存储空字节对象。不管这个参数的最后一个值是什么,都不会被存储 None ) headers (dict) -- 此请求的标头。dict值可以是字符串(对于单值标头)或列表(对于多值标头)。如果 None 作为值传递,则根本不会发送HTTP标头。。。注意::Cookie通过 Cookie 标头不会被 CookiesMiddleware 。如果需要为请求设置cookie,请使用 Request.cookies 参数。这是一个正在处理的已知电流限制。 cookies (dict or list) -- 请求cookies。这些可以用两种形式发送。 使用DICT:: request_with_cookies = Request(url="http://www.example.com",
cookies={'currency': 'USD', 'country': 'UY'})
使用听写列表: request_with_cookies = Request(url="http://www.example.com",
cookies=[{'name': 'currency',
'value': 'USD',
'domain': 'example.com',
'path': '/currency'}])
后一个表单允许自定义 domain 和 path cookie的属性。只有在为以后的请求保存cookie时,这才有用。 当某些站点返回cookies(在响应中)时,这些cookies存储在该域的cookies中,并将在以后的请求中再次发送。这是任何普通网络浏览器的典型行为。 若要创建不发送存储的Cookie也不存储接收的Cookie的请求,请将 dont_merge_cookies 进入以下位置的关键字 True 在……里面 request.meta 。 发送手动定义的cookie并忽略cookie存储的请求示例: Request(
url="http://www.example.com",
cookies={'currency': 'USD', 'country': 'UY'},
meta={'dont_merge_cookies': True},
)
有关详细信息,请参阅 CookiesMiddleware . 警告 Cookie通过 Cookie 标头不会被 CookiesMiddleware 。如果需要为请求设置cookie,请使用 Request.cookies 参数。这是一个正在处理的已知电流限制。 encoding (str) -- 此请求的编码(默认为 'utf-8' ). 此编码将用于对URL进行百分比编码,并将正文转换为字节(如果以字符串形式给出)。 priority (int) -- 此请求的优先级(默认为 0 )调度程序使用优先级定义用于处理请求的顺序。优先级值较高的请求将更早执行。允许负值以表示相对较低的优先级。 dont_filter (bool) -- 指示调度程序不应筛选此请求。当您希望多次执行相同的请求时,可以使用此选项忽略重复的筛选器。小心使用,否则会进入爬行循环。默认为 False . errback (collections.abc.Callable) -- 如果在处理请求时引发任何异常,则将调用的函数。这包括404 HTTP错误等失败的页面。它收到一个 Failure 作为第一个参数。有关详细信息,请参阅 使用errbacks捕获请求处理中的异常 下面。。版本更改::2.0 回调 当 错误 参数已指定。 flags (list) -- 发送到请求的标志可用于日志记录或类似用途。 cb_kwargs (dict) -- 具有任意数据的dict,将作为关键字参数传递到请求的回调。
|