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

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