Scrapy 是开源的爬虫框架,快速强大,只需要写少量的代码即可完成爬取任务,容易扩展,添加新的功能模块
1. scrapy 在Mac上的安装
可以使用pip安装Scrapy
运行命令 sudo pip install Scrapy(不带sudo 可能会出现 Permission denied)
然后 使用scrapy –version来验证是否安装成功
2. Scrapy的使用步骤
创建工程
scrapy startprohect project-name
上面的命令会自动生成project-name的项目,并且生成部分相应的文件scrapy genspider project_name_spider https://www.baidu.com
上面的命令会自动生成一个标准的spider的模版,后面的网址一定要加上,之后就可以修改相应的文件编写相应的item,就可以了,定义Item,构造爬取的对象
定义Item的时候使用scrapy.Field()来定义item编写spider,爬虫主体
编写配置和Pipeline,用于处理爬取的结果
执行爬虫、
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界面调试,并且测试其中的代码是否正确