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界面調試,並且測試其中的代碼是否正確