Scrapy—spider

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


spider1.png

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

Request

spider2.png

参数说明
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

spider3.png
spider4.png

    response对象一般是由scrapy自动构建的,开发者知道怎么使用就可以了。

meta:从其他请求传过来的meta属性,用于多个请求之间的数据连接
encoding:返回当前字符串编码和解码格式
text:将返回来的数据作为unicode字符串返回
body:将返回来的数据作为bytes字符串返回
xpath:xpath选择器
css:css选择器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • scrapy学习笔记(有示例版) 我的博客 scrapy学习笔记1.使用scrapy1.1创建工程1.2创建爬虫模...
    陈思煜阅读 12,776评论 4 46
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • Spider是最简单的spider。每个其他的spider必须继承自该类(包括Scrapy自带的其他spider以...
    木头猿阅读 927评论 0 0
  • 下面介绍basic,如果使用这个模板可以直接在spider子目录下创建文件(因为要写的东西不多) 这是用 sc...
    认真的史莱冰阅读 246评论 0 0
  • android:app1和app2代码融合方案 前言:因为两个app主工程都需要共用,只是存在不同差异的界面和资源...
    六_六阅读 43,039评论 8 45