爬虫学习:scrapy相关的知识

Scrapy 是开源的爬虫框架,快速强大,只需要写少量的代码即可完成爬取任务,容易扩展,添加新的功能模块

1. scrapy 在Mac上的安装
可以使用pip安装Scrapy
运行命令 sudo pip install Scrapy(不带sudo 可能会出现 Permission denied)
然后 使用scrapy –version来验证是否安装成功

2. Scrapy的使用步骤

  1. 创建工程

    scrapy startprohect project-name
    上面的命令会自动生成project-name的项目,并且生成部分相应的文件

    scrapy genspider project_name_spider https://www.baidu.com
    上面的命令会自动生成一个标准的spider的模版,后面的网址一定要加上,之后就可以修改相应的文件编写相应的item,就可以了,

  2. 定义Item,构造爬取的对象
    定义Item的时候使用scrapy.Field()来定义item

  3. 编写spider,爬虫主体

  4. 编写配置和Pipeline,用于处理爬取的结果

  5. 执行爬虫、
    scrapy crawl project_name_spider 用于执行该爬虫

    在编写Pipeline的时候,主要是用于处理爬取的结果,可以存储在相应的文件中,而且格式比较固定,下面给一个将结果存储在csv的文件中的列子。

class ProjectItemCsvPipeline(object):

    def open_spider(self, spider):
        self.file = open('project_record.csv', 'wb')
        self.exporter = CsvItemExporter(self.file)
        self.exporter.start_exporting()

    def close_spider(self, spider):
        self.exporter.finish_exporting()
        self.file.close()

    def process_item(self, item, spider):
        self.exporter.export_item(item)
        return item

在写完spinder的主题之后需要修改一下,setting.py文件中的内容将下面这一行的注释去掉

ITEM_PIPELINES = {
   'project.pipelines.ProjectItemCsvPipeline': 300,
}

在调试的时候可以使用scrapy shell url 来进入shell界面调试,并且测试其中的代码是否正确

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章