美文网首页
Scrapy—spider

Scrapy—spider

作者: w_wm_m | 来源:发表于2018-10-11 21:02 被阅读0次

        由于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—spider

          本文链接:https://www.haomeiwen.com/subject/vrbyaftx.html