Scrapy 爬取数据(图片/gif/视频)
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
1. 安装scrapy
我用的是Anaconda,所以运行
conda install scrapy
2. 新建项目
切换到目标文件夹,然后运行
scrapy startproject one_night_in_shanghai
生成以下目录结构:
one_night_in_shanghai/
1 scrapy.cfg
2 one_night_in_shanghai/
2.1 __init__.py
2.2 items.py
2.3 pipelines.py
2.4 settings.py
2.5 spiders/
2.5.1 __init__.py
其中
- scrapy.cfg: 项目的配置文件
- one_night_in_shanghai/: 该项目的python模块,之后将在此加入代码;
- one_night_in_shanghai/items.py: 项目中的item文件;
- one_night_in_shanghai/pipelines.py: 项目中的pipelines文件;
- one_night_in_shanghai/settings.py: 项目的设置文件;
- one_night_in_shanghai/spiders/: 放置spider代码的目录。
3. 定义Item
Item 是保存爬取到的数据的容器;其使用方法和python字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。
import scrapy
class OneNightInShanghaiItem(scrapy.Item):
img = scrapy.Field() # 我这里想爬图片,那么为图片定义一个关键字
#vedio = scrapy.Field() # 如果后面还要爬视频
gif = scrapy.Field() # 用于爬gif`
4. 在spider/下新建爬虫文件 (last_day_in_September.py)
#-*- coding: utf-8 -*-