#==>第一部分:基本配置<===
#1、專案名稱,預設的user_agent由它來構成,也作為日誌記錄的日誌名
bot_name =
'amazon'
#2、爬蟲應用路徑
spider_modules =
['amazon.spiders'
]newspider_module =
'amazon.spiders'
#3、客戶端user-agent請求頭
user_agent =
'amazon (+'
#4、是否遵循爬蟲協議
# obey robots.txt rules
robotstxt_obey =
false
#5、是否支援cookie,cookiejar進行操作cookie,預設開啟
#cookies_enabled = false
#6、telnet用於檢視當前爬蟲的資訊,操作爬蟲等...使用telnet ip port ,然後通過命令操作
#telnetconsole_enabled = false
#telnetconsole_host = '127.0.0.1'
#telnetconsole_port = [6023,]
#7、scrapy傳送http請求預設使用的請求頭
#default_request_headers =
#===>第二部分:併發與延遲<===
#concurrent_requests = 32
#2、每個網域名稱能夠被執行的最大併發請求數目,預設值8
#concurrent_requests_per_domain = 16
#3、能夠被單個ip處理的併發請求數,預設值0,代表無限制,需要注意兩點
#i、如果不為零,那concurrent_requests_per_domain將被忽略,即併發數的限制是按照每個ip來計算,而不是每個網域名稱
#concurrent_requests_per_ip = 16
#4、如果沒有開啟智慧型限速,這個值就代表乙個規定死的值,代表對同一**延遲請求的秒數
#download_delay = 3
#===>第三部分:智慧型限速/自動節流:autothrottle extension<===
#一:介紹
from scrapy.contrib.throttle import autothrottle #
設定目標:
#二:如何實現?
#三:限速演算法
#4、沒有達到200個response則不允許降低延遲
#四:配置使用
#開啟true,預設false
autothrottle_enabled =
true
#起始的延遲
autothrottle_start_delay =
5#最小延遲
download_delay =
3#最大延遲
autothrottle_max_delay =
10#每秒併發請求數的平均值,不能高於 concurrent_requests_per_domain或concurrent_requests_per_ip,調高了則吞吐量增大**目標站點,調低了則對目標站點更加」禮貌「
#每個特定的時間點,scrapy併發請求的數目都可能高於或低於該值,這是爬蟲檢視達到的建議值而不是硬限制
autothrottle_target_concurrency =
16.0
#除錯autothrottle_debug =
true
concurrent_requests_per_domain =
16concurrent_requests_per_ip =
16#===>第四部分:爬取深度與爬取方式<===
#1、爬蟲允許的最大深度,可以通過meta檢視當前深度;0表示無深度
# depth_limit = 3
#2、爬取時,0表示深度優先lifo(預設);1表示廣度優先fifo
# 後進先出,深度優先
# depth_priority = 0
# scheduler_disk_queue = 'scrapy.squeue.picklelifodiskqueue'
# scheduler_memory_queue = 'scrapy.squeue.lifomemoryqueue'
# 先進先出,廣度優先
# depth_priority = 1
# scheduler_disk_queue = 'scrapy.squeue.picklefifodiskqueue'
# scheduler_memory_queue = 'scrapy.squeue.fifomemoryqueue'
#3、排程器佇列
# scheduler = 'scrapy.core.scheduler.scheduler'
# from scrapy.core.scheduler import scheduler
#4、訪問url去重
# dupefilter_class = 'step8_king.duplication.repeaturl'
#===>第五部分:中介軟體、pipelines、擴充套件<===
#1、enable or disable spider middlewares
# see
#spider_middlewares =
#2、enable or disable ********** middlewares
# see
**********_middlewares =
#3、enable or disable extensions
# see
#extensions =
#4、configure item pipelines
# see
item_pipelines =
#===>第六部分:快取<===
"""1. 啟用快取
目的用於將已經傳送的請求或相應快取下來,以便以後使用
"""# 是否啟用快取策略
# 快取策略:所有請求均快取,下次在請求直接訪問原來的快取即可
# 快取策略:根據http響應頭:cache-control、last-modified 等進行快取的策略
# 快取超時時間
# 快取儲存路徑
# 快取忽略的http狀態碼
# 快取儲存的外掛程式
基於Scrapy框架編寫爬蟲專案
知識點 2種安裝模組的方式。以下兩種方式可以安裝絕大部分模組,網路安裝 指直接在控制台 pip install xx 第6條,配置過程 1.複製 f 程式設計 python lib site packages pywin32 system32 下的兩個.dll檔案 2.貼上到 c windows s...
爬蟲 建立scrapy框架的專案
進入命令管理器 通過命令scrapy startproject spider3 進入spider3專案中 執行scrapy genspider university qianmu.org scrapy genspider 爬蟲的名字name 爬蟲的網域名稱 通過pycharm軟體匯入此專案 scra...
scrapy爬蟲框架
作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...