由于scrapy中文文档比较乱,边看边总结记录。

scrapy框架会自动为我们生成这样的代码。这时可能都会比较懵逼,parse解析的response对象是从哪里来的...接下来就不可避免的接触到Request对象。
Request

参数说明
url:这个request对象发送的url
callback:请求成功后的回调函数。一般是用来解析所请求的页面。如果请求没有指定回调,将使用spider的parse()方法。如果在处理期间引发异常,则会调用errback。
method:请求的方法,默认为GET
headers:对于一些固定的请求头可以放在settings文件中,对于一些非固定的请求头可以在发送请求时指定
cookies:设置cookie信息,可以有两种方式。其一是使用字典的形式。其二是使用列表(即将字典包在有列表的外衣下)。
meta:用于在不同的请求间传递数据,指定Request.meta属性的初始值。如果给了该参数,dict将会浅拷贝
dont_filter:表示不用调度器过滤,在执行多次重复的请求时用
errback:发生异常或者错误时的回调函数
所以scrapy自动生成的代码表示的意思就是,在start_requests中调用Request请求start_urls中的url,得到response对象给parse解析。所以我们可以在回调函数parse中解析页面返回item对象或者再使用Request对象。
FormRequest对象继承于Request对象还可以提交数据进行模拟登录。
Response


response对象一般是由scrapy自动构建的,开发者知道怎么使用就可以了。
meta:从其他请求传过来的meta属性,用于多个请求之间的数据连接
encoding:返回当前字符串编码和解码格式
text:将返回来的数据作为unicode字符串返回
body:将返回来的数据作为bytes字符串返回
xpath:xpath选择器
css:css选择器
网友评论