distribute crawler專案實戰

2021-07-04 07:33:31 字數 3819 閱讀 6442

使用pip安裝:
pip install scrapy
ubuntu 軟體包
sudo

apt-

keyadv--

keyserver

hkp://keyserver

.ubuntu

.com:80--

recv

627220e7

echo

'deb scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list

sudo apt-get update && sudo apt-get install scrapy-0.25
sudo easy_install redis
sudo pip install pymongo==2.7.2
注意之後 需要每次啟動carbon

$ cd /opt/graphite/

$ sudo ./bin/carbon-cache.py start

(如何配置請檢視:statscol/graphite.py)

配置新增storage-aggregation.conf檔案在'/opt/graphite/conf'目錄下 :

[scrapy_min]

pattern = ^scrapy\..*_min$

xfilesfactor = 0.1

aggregationmethod = min

[scrapy_max]

pattern = ^scrapy\..*_max$

xfilesfactor = 0.1

aggregationmethod = max

[scrapy_sum]

pattern = ^scrapy\..*_count$

xfilesfactor = 0.1

aggregationmethod = sum

#分布式 修改如下:

stats_class = 'scrapygraphite.redisgraphitestatscollector'

graphite_host = '127.0.0.1'

graphite_port = 2003

#單機 修改如下:

啟動並執行redis:

src/redis-server
可能需要安裝的其他模組ipyzope.inte***ce

pip install ipy

pip install zope.inte***ce

cd woaidu_crawler/commands/

sudo python init_sharding_mongodb.py --path=/usr/bin

修改settings.pyitem_pipelines參見

item_pipelines =
修改woaidu_crawler/pipelines/mongodb_book_file.py下130的

line 130:info = self.spiderinfo.spider

info = self.spiderinfo

在含有log資料夾的目錄下執行:需切換到root使用者sudo su

scrapy crawl woaidu
開啟 通過圖表檢視spider實時狀態資訊

要想嘗試分布式,可以在另外乙個目錄執行此工程

cd woaidu_crawler/commands/

python init_single_mongodb.py

設定settings.py:

item_pipelines = ['woaidu_crawler.pipelines.cover_image.woaiducoverimage':300,

'woaidu_crawler.pipelines.bookfile.woaidubookfile':400,

'woaidu_crawler.pipelines.drop_none_download.dropnonebookfile':500,

'woaidu_crawler.pipelines.mongodb.singlemongodbpipeline':600,

'woaidu_crawler.pipelines.final_test.finaltestpipeline':700,]

在含有log資料夾的目錄下執行:需切換到root使用者sudo su

scrapy crawl woaidu
開啟 (也就是你執行的graphite-web的url) 通過圖表檢視spider實時狀態資訊

要想嘗試分布式,可以在另外乙個目錄執行此工程

每次執行完之後都要執行commands/clear_stats.py檔案來清除redis中的stats資訊

python clear_stats.py

專案實訓(1)

研究 並根據reference實現了基於jaccard計算 對相似度的演算法 研究下面這篇 了解我們專案的整體思路。自己的實現 每次輸入兩個 的名字,然後通過查詢node.list找到相應的id,然後在inlinks.list中找到他引用的所有 集合,然後計算jaccard相似度。不足之處 在遇到大...

專案實訓筆記

我不知道是否有其他人能看見我寫的內容,由於我是乙個渣渣,很多內容都不知道,所以將這些很簡單的東西都記錄下來,希望不小心點進來的大神們,能吐槽一下我,呃指點一下我。拜託拜託。12 26 一 例如img標籤是行級元素,整行佔據空間需設定它的display屬性為block 2 focus 選擇器用於選取獲...

實訓日誌 專案實訓介面文件

具體要求 若正常返回,code為200,msg設為success即可 若出現錯誤,code為錯誤 msg欄位說明錯誤原因。具體對應介面 功能及細節如下 功能介面 引數輸出 說明登入 account login username 使用者名稱 password 密碼 user id用於之後與使用者相關的...