# -*- coding:utf-8 -*- # spiders 該文件夾專門存放爬蟲文件 # items.py 用於存儲爬蟲的數據 # middlewares.py 用於處理爬蟲前的請求和響應,例如設置headers # pipelines.py 管道文件,在存儲爬蟲數據以前,會先穿過管道 # settings.py 全局爬蟲的配置文件,一般用於設置反反爬蟲相關措施,數據庫配置 # scrapy.cfg 用於部署爬蟲項目到服務器中 # ------------------------------------------------- # 創建爬蟲 scrapy genspider 文件名 域名 # 一個項目下可以創建多個爬蟲 # ------------------------------------------------- # 爬蟲文件: # name = '爬蟲名',爬蟲名名稱必須唯一,一般不要改 # allowed_domains = ['網站域名'] ,爬蟲的時候允許爬取的網站域名 # start_urls = ['網址'] ,爬蟲默認爬取的第一個網址,一辦需要手動重新設置,可以存放多個網址 # def parse(self, response): # def parse 自動從start_urls中下載網址對應的網頁,自動調用parse函數,參數後的response就是網頁的對象 # ------------------------------------------------- # 運行爬蟲文件,在Terminal中輸入命令: # scrapy crawl 爬蟲名 # ------------------------------------------------- # 創建運行爬蟲文件 # from scrapy import cmdline # cmdline.execute(['scrapy', 'crawl', '爬蟲名']) # ------------------------------------------------- # 在spiders文件夾中的setting.py中可以更改配置 # 一般有以下的要修改: # 1. # robots.txt 這個文件是一種協議,用於告訴爬蟲,哪些網站不能爬 # 例如: http://www.baidu.com/robots.txt # 默認遵守 一般要改爲False # Obey robots.txt rules # ROBOTSTXT_OBEY = False # 2. # 爬取數據延遲,默認爲0,如果太快會被網站拒絕訪問 # DOWNLOAD_DELAY = 0 # 3. # 禁用cookie追蹤,減少被發現的概率 # COOKIES_ENABLED = False # 4. # 用於設置哪些middlewares有效 # DOWNLOADER_MIDDLEWARES = { # 'IvskySpider.middlewares.IvskyspiderDownloaderMiddleware': 543, # 543數字表示優先級,越小越先執行,如果填爲none 表示不執行 # } # 5. # 哪些PIPELINES可以使用 # ITEM_PIPELINES = { # 'IvskySpider.pipelines.IvskyspiderPipeline': 300, # } # ------------------------------------------------- # 保存數據在 spiders 文件夾下的 item.py 文件中 # 例如: # class ImgInfoItem(scrapy.Item): # """ # item用於組裝爬蟲數據 # 裏面的字段根據實際情況定義即可,一般字段名和變量名保持一致 # # """ # big_title = scrapy.Field() # small_title = scrapy.Field() # thumb_src = scrapy.Field() # thumb_alt = scrapy.Field() # img_detail_src = scrapy.Field() # path = scrapy.Field() # 保存成這兩種數據形式都可以 # .csv文件 容易產生亂碼 # .json文件 數據格式固定 #
基於python的-scrapy框架的基本用法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.