Scrapy入门
1.安装scrapy
- linux环境下直接执行命令:
- pip install scrapy
- 安装完成之后直接在控制台输入:scrapy,如不报错,则安装成功
2.创建项目
- scrapy startproject <project_name>
- 这个命令可以在任何文件夹下运行,执行完毕之后会在当前目录下创建一个你的项目的名字的文件夹
- 该文件夹的目录结构:
- project_name
- project_name
- sriders
- __init__.py
- __init__.py
- items.py
- middlewares.py
- piplines.py
- settings.py
- sriders
- #scrapy.cfg //它是scrapy项目的配置文件,其内定义了项目文件的配置文件路径、部署相关信息等内容。
- #items.py //它定义了items的数据结构,所有的items都可以在这里定义。
- #middlewares.py //它定义了spider middlewares和download middlewares的实现。
- #piplines.py //它定义item pipline的实现,所有的item pipline的实现都可以放在这里。
- #settings.py //定义项目的全局配置
- project_name
- project_name
3.创建spider
- 在scrapy.cfg的同级目录下执行命令:
- scrapy genspider <spider_name> <project_start_url>
- 执行完毕之后会在spiders的目录下生成一个<spider_name>.py的文件
4.实际创建
- scrapy startproject books
- cd books
- scrapy genspider quanshu quanshuwang.com
- cd books/scrapy
- cat quanshu.py
-
1 # -*- coding: utf-8 -*- 2 import scrapy 3 4 5 class QuanshuSpider(scrapy.Spider): 6 name = 'quanshu' 7 allowed_domains = ['quanshuwang.com'] 8 start_urls = ['http://quanshuwang.com/'] 9 10 def parse(self, response): 11 pass
该文件里面有个<project_name>的类,该类继承自scrapy.Spider
name:该爬虫的名字,有且唯一,用于区别不同的爬虫和启动项目
allowed_domains:爬虫允许访问的域名
start_url:爬虫其实的url
parse方法:爬虫启动的时候,会默认调用parse,该方法主要用于对网页的解析。该方法有一个response参数,该参数为访问的url的结果对象。可以在parse方法中print(dir(response))来了解该对象的方法和属性。
5.启动爬虫
scrapy crawl <project_name>[类的name属性]