Python爬虫框架Scrapy:爬取校花网

以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感。

想爬哪就爬哪

Python爬虫框架Scrapy:爬取校花网_第1张图片

Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据

Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等

整体架构大致

Python爬虫框架Scrapy:爬取校花网_第2张图片

Python爬虫框架Scrapy:爬取校花网_第3张图片

Scrapy运行

Python爬虫框架Scrapy:爬取校花网_第4张图片

基本使用

1、创建项目

运行命令:

1

scrapy startproject p1(your_project_name)

2.自动创建目录的结果:

Python爬虫框架Scrapy:爬取校花网_第5张图片

文件说明:

  • scrapy.cfg 项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)

  • items.py 设置数据存储模板,用于结构化数据,如:Django的Model

  • pipelines 数据处理行为,如:一般结构化的数据持久化

  • settings.py 配置文件,如:递归的层数、并发数,延迟下载等

  • spiders 爬虫目录,如:创建文件,编写爬虫规则

注意:一般创建爬虫文件时,以网站域名命名

编写爬虫

Python爬虫框架Scrapy:爬取校花网_第6张图片

Python爬虫框架Scrapy:爬取校花网_第7张图片

备注:

  • 1.爬虫文件需要定义一个类,并继承scrapy.spiders.Spider

  • 2.必须定义name,即爬虫名,如果没有name,会报错。因为源码中是这样定义的:

Python爬虫框架Scrapy:爬取校花网_第8张图片

  • 3.编写函数parse,这里需要注意的是,该函数名不能改变,因为Scrapy源码中默认callback函数的函数名就是parse;

  • 4.定义需要爬取的url,放在列表中,因为可以爬取多个url,Scrapy源码是一个For循环,从上到下爬取这些url,使用生成器迭代将url发送给下载器下载url的html。源码截图:

Python爬虫框架Scrapy:爬取校花网_第9张图片

Python爬虫框架Scrapy:爬取校花网

Python爬虫框架Scrapy:爬取校花网_第10张图片

4、运行

5.scrapy查询语法:




Python爬虫框架Scrapy:爬取校花网_第11张图片

6.scrapy查询语法中的正则:

Python爬虫框架Scrapy:爬取校花网_第12张图片

7、格式化处理

Python爬虫框架Scrapy:爬取校花网_第13张图片

你可能感兴趣的:(Python爬虫框架Scrapy:爬取校花网)