安装完scrapy 之后,通过scrapy startproject ‘ProjectName’ 来新建项目, 然后
scrapy 就会自动帮我们创建项目
现在是一个初始化的项目,首先我需要去抓取某个网站的信息,我需要抓取的信息定义到items.py里面
我们抓取的信息是 内容标题, 图片链接, 更新时间, 总页数, 照片组数
因此我们的items.py 可以定义为如下
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class MyscrapyItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
name = scrapy.Field()
url = scrapy.Field()
update_time = scrapy.Field()
total_page = scrapy.Field()
total_images = scrapy.Field()
定义完毕items 之后我们就开始要写 爬虫逻辑的代码了,爬虫的代码需要写在项目的spiders 包里面
代码如下
# 这里面写爬虫的逻辑
import scrapy
class ImageSpider(scrapy.Spider):
"""
scrapy 爬虫必须继承自 scrapy.Spider 然后实现它的parse方法
"""
# name 也是必须有的这个就是项目名称, name是唯一的 不可重复
name = 'image_helper'
# 定义抓取的主机
allowed_domains = ["baidu.com"]
# 定义抓取的url 列表
start_urls = [
"https://www.baidu.com"
]
def parse(self, response):
"""
该方法是重写scrapy 的方法
:param response:
:return:
"""
pass
然后我们就可以在 命令行里面 使用scrapy crwal # 这个name 就是我们class 下面的name属性, 比如我的 那么 是 image_helper
scrapy crwal image_helper