scrapy框架day01

scrapy框架介绍

  Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。

scrapy安装

Windows:  # 跟步骤走即可

      a. pip3 install wheel

      b. 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted  # 下载你当前python的版本

      c. 进入下载目录,执行 pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl

      d. pip3 install pywin32

      e. pip3 install scrapy

 

完成上步骤后

  创建项目  scrapy startproject 项目名

    目录结构 : 如图

          

          文件介绍

           scrapy.cfg   项目的主配置信息。(真正爬虫相关的配置信息在settings.py文件中)
             items.py     设置数据存储模板,用于结构化数据,如:Django的Model
             pipelines    数据持久化处理
             settings.py  配置文件,如:递归的层数、并发数,延迟下载等
             spiders      爬虫目录,如:创建文件,编写爬虫解析规则

     

   创建爬虫应用  cd到项目目录    执行   scrapy genspider 程序名(py名字) 爬取的网页(url)

          (例如:scrapy genspider qiubai www.qiushibaike.com)   

   创建完成后 会在如图生成文件

          

    创建后修改settings.py中的配置:如图

         

           USER_AGENT :  身份伪装
             ROBOTSTXT_OBEY : 遵从协议    (False) 不遵从  默认Ture

    修改完成后 执行      scrapy crawl qiubai(py名) --nolog(不打印日志)  运行程序

 

 

 在spiders目录下创建的项目(爬虫文件)

      

 

练习使用 : 将糗百首页中段子的内容和标题进行爬取

   

         输出 :   

    

       输出 : 

    如何取出文本:

      可以使用这两种方法取出data的文本

 

    如何持久化保存:  使用管道 piplines.py 定义数据类型 items

      1.将数据封装到 item中

          

 

      2.使用yield将items中的对象交给piplines管道进行保存

       

      3.settings中配置管道

           放开 300优先级从小到大!!!

     配置piplines 写入文件

       

 

 

     执行爬虫:

        

        

 

 

 

 如何保存在数据库中

 在piplinse.py中  写类

     Mysql :    使用pymysql模块

    

      一定要把类配置到下图

     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

posted @ 2018-10-31 10:03  爱灰灰的灰灰  阅读(129)  评论(0编辑  收藏  举报