Request对象在爬虫程序中生成并传递到系统,直到它们到达下载程序,后者执行请求并返回一个Response对象,该对象返回到发出请求的爬虫程序。
一个Request对象表示一个HTTP请求,它通常是在爬虫生成,并由下载执行,从而生成Response
参数
url(string) - 此请求的网址
callback(callable) - 将使用此请求的响应(一旦下载)作为其第一个参数调用的函数。有关更多信息,请参阅下面的将附加数据传递给回调函数。如果请求没有指定回调,parse()将使用spider的 方法。请注意,如果在处理期间引发异常,则会调用errback。
method(string) - 此请求的HTTP方法。默认为'GET'。可设置为"GET", "POST", "PUT"等,且保证字符串大写
meta(dict) - 属性的初始值Request.meta,在不同的请求之间传递数据使用
body(str或unicode) - 请求体。如果unicode传递了a,那么它被编码为 str使用传递的编码(默认为utf-8)。如果 body没有给出,则存储一个空字符串。不管这个参数的类型,存储的最终值将是一个str(不会是unicode或None)。
headers(dict) - 这个请求的头。dict值可以是字符串(对于单值标头)或列表(对于多值标头)。如果 None作为值传递,则不会发送HTTP头.一般不需要
encoding: 使用默认的 'utf-8' 就行。
cookie(dict或list) - 请求cookie。这些可以以两种形式发送。
FormRequest类扩展了Request具有处理HTML表单的功能的基础。它使用lxml.html表单 从Response对象的表单数据预填充表单字段
class scrapy.http.FormRequest(url[, formdata, ...])
本FormRequest类增加了新的构造函数的参数。其余的参数与Request类相同
参数:formdata(元组的dict或iterable) - 是一个包含HTML Form数据的字典(或(key,value)元组的迭代),它将被url编码并分配给请求的主体。
返回一个新FormRequest对象,其中的表单字段值已预先填充在给定响应中包含的HTML 元素中.
参数:
response(Responseobject) - 包含将用于预填充表单字段的HTML表单的响应
formname(string) - 如果给定,将使用name属性设置为此值的形式
formid(string) - 如果给定,将使用id属性设置为此值的形式
formxpath(string) - 如果给定,将使用匹配xpath的第一个表单
formcss(string) - 如果给定,将使用匹配css选择器的第一个形式
formnumber(integer) - 当响应包含多个表单时要使用的表单的数量。第一个(也是默认)是0
formdata(dict) - 要在表单数据中覆盖的字段。如果响应元素中已存在字段,则其值将被在此参数中传递的值覆盖
clickdata(dict) - 查找控件被点击的属性。如果没有提供,表单数据将被提交,模拟第一个可点击元素的点击。除了html属性,控件可以通过其相对于表单中其他提交表输入的基于零的索引,通过nr属性来标识
dont_click(boolean) - 如果为True,表单数据将在不点击任何元素的情况下提交