scrapy通過scrapyinghub實現(xiàn)24小時爬蟲托管爬取

本文僅供學(xué)習(xí)參考作用,概不對任何事情進行負責(zé)!

前言
當(dāng)我們在對網(wǎng)上的數(shù)據(jù)進行爬取,但是需要爬取的數(shù)據(jù)量特別大,爬取的時間特別長的時候(比如需要爬一周),我們難免會思考一個問題:我總不可能一直將電腦開著去抓取數(shù)據(jù)吧?
這個時候我們一般有兩種解決方案:1.購買云服務(wù)器進行24小時的爬取.2.通過爬蟲托管網(wǎng)站進行24小時的爬取.
本文將介紹第二種方法,通過scrapy的scrapyinghub實現(xiàn)24小時的爬蟲托管爬取


目錄
1.需求背景
2.scapyinghub介紹
3.實現(xiàn)流程


1.需求背景

最近學(xué)校有一門搜索引擎的課程,我們需要搭建一個自己的搜索引擎.搭建搜索引擎的過程中我們需要有數(shù)據(jù)進行填充.這個時候我們準(zhǔn)備將中國可移動文物普查網(wǎng)中的所有文物數(shù)據(jù)爬取到我們手中,并對拿到的數(shù)據(jù)進行二次加工組裝成屬于我們自己的文物搜索引擎.由于需要爬取的文物數(shù)據(jù)很多,有23w左右,所以在本地爬取的技術(shù)路線我們放棄,并且想到了通過scrapyinghub進行爬蟲托管.

2.scrapyinghub介紹

scrapyinghub地址:

https://scrapinghub.com/

Scrape Cloud是scrapy基于云的Web爬行平臺,可以輕松部署抓取工具并按需擴展,無需擔(dān)心服務(wù)器,監(jiān)控,備份或cron作業(yè)。他幫助開發(fā)人員每月將超過20億個網(wǎng)頁轉(zhuǎn)化為有價值的數(shù)據(jù).


3.實現(xiàn)流程

3.1部署scrapy到cloud
有梯子的同學(xué)可以看官網(wǎng)的教程

https://helpdesk.scrapinghub.com/support/solutions/articles/22000201028-learn-scrapy-video-tutorials-

首先我們在scrapyinghub上注冊一個賬號并且登錄到管理控制臺,點擊右上方的create project按鈕新建一個項目


當(dāng)然了,我們只是將先有的scrapy爬蟲部署到云上去,所以我們選擇bulid spider with scrapy

然后我們將視線轉(zhuǎn)移到我們的服務(wù)器上,首先安裝shub

pip install shub

安裝成以后,在服務(wù)器上登錄我們的scrapy cloud

shub login

提示輸入API key ,我們復(fù)制命令行中出現(xiàn)的網(wǎng)址并且進入


復(fù)制其中的API key到shell中

成功!
這個時候我們就需要使用shub deploy命令將本地的scrapy上傳到cloud

shub deploy


由于我們之前操作過,所以自動將projectID填入了.當(dāng)然了,如果我們是第一次使用的話只需要在我們cloud的控制臺的URL中找到projectID并輸入到shell中即可

上傳scrapy成功!


這個時候我們就可以在cloud上運行我們的spider了!在Dashborad選項卡中的右上方點擊run,我們就可以愉快的選擇我們的spider啦!

3.2爬取優(yōu)化方案
對于23W的數(shù)據(jù),我們在之前的初步爬取中按照當(dāng)前cloud的爬取速度我們預(yù)估要24個整天才能爬完,這個速度我們顯然是不能接受的.
于是我們優(yōu)化爬取方案為將當(dāng)前爬蟲分解成10個爬蟲對網(wǎng)站進行爬取.這種方法也有隱患:過多的爬蟲會導(dǎo)致網(wǎng)站服務(wù)器壓力倍增,很可能導(dǎo)致其網(wǎng)站癱瘓.
所以,考慮到這個情況,我們將爬蟲的爬取時間設(shè)置成了晚上11點到早上11點.
優(yōu)化過后的爬蟲方案,將爬取的時間縮短為了4.8天,大大的增加了爬取的效率.

小Tips:scrapyinghub默認一個project只能同時run一個爬蟲,所以如何讓多個爬蟲同時運行在scrapyinghub以提升爬取效率呢?我們只需要新建多個organization即可,每一個organization都可以run一個爬蟲~


現(xiàn)在我們就有2個正在run的爬蟲啦~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • scrapy學(xué)習(xí)筆記(有示例版) 我的博客 scrapy學(xué)習(xí)筆記1.使用scrapy1.1創(chuàng)建工程1.2創(chuàng)建爬蟲模...
    陳思煜閱讀 13,044評論 4 46
  • scrapy是python最有名的爬蟲框架之一,可以很方便的進行web抓取,并且提供了很強的定制型,這里記錄簡單學(xué)...
    bomo閱讀 2,315評論 1 11
  • 這兩天摸索了下scrapy,剛看文檔的時候覺得有點生無可戀,scrapy框架個人還是覺得比較難懂的,需要學(xué)習(xí)的地方...
    Treehl閱讀 5,833評論 7 10
  • 累哭 蠢哭 今晚著實被自己蠢哭 怎么辦 嗚嗚嗚
    MissJaen閱讀 94評論 0 0

友情鏈接更多精彩內(nèi)容