爬虫scrapy框架学习(一)

一、scrapy框架的基础概念:

            1.Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,

               我们只需要实现少量的代码,就能够快速的抓取

            2.Scrapy 使用了 Twisted异步网络框架,可以加快我们的下载速度。

 

二、scrapy框架的工作流程:

            爬虫scrapy框架学习(一)

 

        参数说明:

                爬虫scrapy框架学习(一)

 

三、scrapy框架的安装和入门使用:

        1.安装: pip install Scrapy

        2.入门使用:

                    a.创建一个scrapy项目:

                            命令:scrapy startproject +<项目名字>

                            示例:scrapy startproject myspider

                   

                    b.创建一个爬虫:

                            命令:scrapy genspider  +<爬虫名字> + <允许爬取的域名>

                            示例:scrapy genspider itcast “itcast.cn”

                   

                    c.创建好以后项目的目录如下图:

                            爬虫scrapy框架学习(一)

                  

                    d.接着完善我们创建的爬虫代码,使其成为真正能爬取数据的爬虫:

                                1.首先打开itcast.py(爬虫文件),配置如下参数:

                                        爬虫scrapy框架学习(一)

                                       爬虫scrapy框架学习(一)

 

                                2.然后将spider爬取到的数据传递给pipeline,实现如下:

                                        爬虫scrapy框架学习(一)

                                        爬虫scrapy框架学习(一)

 

                               3.接着使用pipeline进行数据的保存,配置如下:

                                        爬虫scrapy框架学习(一)

                                        爬虫scrapy框架学习(一)

 

                               4.使用pipeline需要注意的几点:

                                        爬虫scrapy框架学习(一)

 

                                5.最后配置一下日志信息,方便我们查看:

                                          我们可以在setting中设置log级别

                                          在setting中添加一行(全部大写):LOG_LEVEL = "WARNING”

                                          默认终端显示的是debug级别的log信息

 

                                6.在代码中配置日志信息:

                                        爬虫scrapy框架学习(一)

                                        爬虫scrapy框架学习(一)

 

四、scarpy框架扩展深入:

            1.我们在爬取数据时,一般都会遇到翻页的情况,那么scarpy如何解决这个问题呢?

               scrapy为我们提供了Request函数来解决翻页问题,它的使用示例如下:

                    爬虫scrapy框架学习(一)

 

               爬虫scrapy框架学习(一)

            2.关于如何实现在不同的解析函数中传递数据,示例如下:

                    爬虫scrapy框架学习(一)

 

 

            3.我们在提取数据时往往都需要定义一个item字典来存储数据,

               而scrapy也提供了一个定义item的方法,如下:

                       爬虫scrapy框架学习(一)

 

            4.我们还需要了解一下scrapy的DEBUG信息的含义:

                    爬虫scrapy框架学习(一)

 

          5.scarpy shell的使用:

                    概念:Scrapy shell是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,

                              也可以用来测试XPath表达式

                    使用方法:scrapy shell url地址

 

          6.认识scarpy的settings文件:

                    爬虫scrapy框架学习(一)

 

         7.认识pipeline的使用:

                    爬虫scrapy框架学习(一)