使用分布式來加快爬的速度。—大資料。
將壓縮包解壓到指定目錄,就安裝好了。
配置環境變數
測試是否安裝成功,在cmd中輸入redis-server:
配置檔案如下:
這部分有很多比較詳細的文件可以查閱參考。
指紋集合作用和原理:
任務佇列原理:使用的資料結構為有序集合zset,特徵是有scores欄位。
特點是實時更新順序,因此可以用來排列任務。
(一)主機配置
1、匯入包
from scrapy_redis import spiders
2、將start_urls注釋調,因為scrapy-redis是從redis中讀取初始任務的,不需要start_urls:
然後重寫類:
3、主機寫入初始化redis的初始url列表的**。
主機:就是使用的哪台電腦上的redis和mongo,哪台電腦就是主機。
4、在spider中設定讀取初始任務的**,方法如下:
這裡的redis-key就表示將來專案啟動後就會從redis中的這個key所對應的列表中獲取url。
5、在settings.py中新增如下配置:
# 這三條主機和從機都要新增:配置排程器和去重指紋集合。
#配置scrapy-redis排程器
scheduler = "scrapy_redis.scheduler.scheduler"
#配置url去重
dupefilter_class = "scrapy_redis.dupefilter.rfpdupefilter"
#配置優先順序佇列
scheduler_queue_class = 'scrapy_redis.queue.priorityqueue'
##埠號
redis_port = 6379
mongo_database = 'caixi'
#主機和從機不一樣的:
#主機名
redis_host = 'localhost'
mongo_uri = 'localhost'
#【主機才負責初始化redis的任務列表】
#從機裡面: 主機ip要確定
redis_host = '目標主機的ip'
mongo_uri = '目標主機的ip'
(二)從機配置
在主機配置的基礎上進行改寫即可。
1、首先注釋掉redis_urls.py檔案中所有的**,因為從機是從主機中取出任務的。
2、將settings中的配置改一下:
就是把下述兩行改掉:
redis_host = '目標主機的ip'
mongo_uri = '目標主機的ip'
第十四講 模組
1.模組 模組化指將乙個完整的程式分解成乙個個的小模組 通過將模組組合,來搭建出乙個完整的程式 模組化的優點 方便開發 方便維護 模組可以復用 模組的建立 在python當中乙個py檔案就是乙個模組 在乙個模組中引入外部模組 import模組名 模組名就是py檔案 可以引入同乙個模組多次,但是模組的...
C 銳利體驗 第十四講 列舉
第十四講 列舉 列舉型別是c 中又一種輕量級的值型別,c 用列舉來表達一組特定的值的集合行為,比如windows窗體可選的狀態,按鈕控制項的風格等。下面的程式偽碼展示了典型的列舉用法 public enum writingstyle class essay 注意上面的列舉符號classical,mo...
MFC孫鑫第十四講UDP
srv include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket socksrv socket af inet,sock stream,0 socket socksrv socket...