scrapy流程

按照官网教程走一遍

创建项目

scrapy startproject tutorial

脚本编辑

(使用scrapy genspider task_name url命令自动生成任务脚本,但自己手写一遍更利于理解)
爬虫脚本位于项目中的spider/目录中,任务流程封装在一个类中,该类继承自scrapy.Spider类。

  • 任务类中的属性/方法:
    • name:同一项目下的各爬虫任务name属性必须唯一
    • start_requests(self):通过scrapy.Reuqest(url=url, callback=parse)生成请求;不过通常情况下,可以使用start_urls这一类属性进行替代
    • parse(self, response):对请求结果进行解析/处理

交互环境

scrapy shell "http://quotes.toscrape.com"

注意:在windows操作系统下,url必须使用双引号

响应实体的解析

  • response.css()解析
  • response.xpath()解析
    不过官方更推荐xpath方法解析

数据储存

scrapy crawl quotes -o file_name.json

保存为json格式有一个历史遗留问题,多次执行是以追加的形式写入文件中的

进一步爬取

parse()方法中

  • scrapy.Request(url, callback=self.parse)
  • response.follow(relative_url, callback=self.parse),支持相对路径的解析

爬虫参数

scrapy crawl task_name -o file_name.json -a para=sth

-a后边的参数会成传入爬虫任务类中的__init__()方法中,c

你可能感兴趣的:(scrapy流程)