利用scrapinghub發(fā)布你的爬蟲項目

用scrapy框架寫了一個爬蟲項目,想發(fā)布到線上讓他自動執(zhí)行,搜索了一下,發(fā)現(xiàn)有個叫scrapinghub的平臺,可以免費發(fā)布scrapy項目,所以就來試一下。

注冊scrapinghub賬號并登陸

直接打開scrapinghub注冊,這里沒什么說的。

注冊

可以直接用Google賬號或者GitHub賬號登陸,我就選擇GitHub登陸啦~
登錄之后是這樣的,是空的,沒有項目:

登陸之后

我們點擊右上角的Create Project來創(chuàng)建一個Project,這里和GitHub類似。

創(chuàng)建空的項目

創(chuàng)建一個project

這里Organization已經(jīng)填好了,用GitHub賬號登陸的話,這里就是你的GitHub昵稱,其他賬號登錄的應(yīng)該類似。
Name這里就隨便填寫一個名稱就好了,主要是為了方便以后的project管理。
項目類型就選Scrapy,那個Portia我還沒去了解它到底是干啥的。弄好了之后就點Create。

一個空的爬蟲項目

創(chuàng)建好了之后,我們會得到一個空的project,里面是沒有代碼的,接下來需要將寫好的scrapy爬蟲放進去,這里和GitHub里面往倉庫里面提交代碼類似。

準(zhǔn)備發(fā)布

點擊那個Code & Deploys,到發(fā)布頁面。這里有兩種發(fā)布方式可供選擇:

  • 第一種方式
發(fā)布scrapy爬蟲

在你的pycharm中安裝shub庫,這是一個用于發(fā)布scrapy項目到scrapinghub的庫?;蛘吣憧梢灾苯釉诿钚兄惺褂胮ip install shub命令來安裝,這里我選擇方便的pycharm。
可能有的小伙伴不知道pycharm有如此方便的三方庫管理功能。


安裝shub

打開項目下的pycharm命令行,如果你的項目不是在pycharm中構(gòu)建的也沒關(guān)系,可以在系統(tǒng)命令行中切換到項目目錄中執(zhí)行相關(guān)命令。
使用shub login命令進行登陸,這里會讓你輸入API key,你可以在這里找到你的API key:

選擇賬戶設(shè)置
選擇 API key

然后復(fù)制,粘貼到命令行就ok了。

在發(fā)布之前還有一個需要注意的地方:
如果你的項目中使用了scrapy之外的第三方庫,則需要在項目中進行聲明,這樣scrapinghub才會為你的項目添加相應(yīng)的第三方庫。聲明的過程很簡單,在你的項目根目錄下添加requirements.txt文件,并列出你所需要額外添加的第三方庫,類似下面這樣,寫清楚你需要的三方庫名稱和版本。

添加額外支持

再新建一個scrapinghub.yml文件,里面是這樣的:

scrapinghub.yml

這個大家應(yīng)該知道是做什么的。其實這個文件在發(fā)布項目的時候可以自動生成,但是如果你的爬蟲需要依賴一些scrapinghub所沒有的三方庫的時候,還是最好自己手動新建一個,如果你懶得自己建的話,可以先發(fā)布項目,生成了scrapinghub.yml文件之后,再去編輯它,當(dāng)然scrapinghub會默認(rèn)提供一部分常用的第三方庫,不需要手動聲明。

確認(rèn)無誤之后,就可以用shub deploy [project id]命令進行發(fā)布了。
project id可以在你的網(wǎng)頁地址欄中找到:
細(xì)心的同學(xué)可以看到發(fā)布項目的步驟和命令已經(jīng)在頁面的右下方寫出來了,如果看不懂的話還有貼心的視頻教程。

project id

發(fā)布成功之后:

發(fā)布成功

回到瀏覽器中刷新一下頁面就看到項目中已經(jīng)有代碼了(請自動忽略shub的更新提示,如果你的shub版本是最新的,就不會出現(xiàn)這個提示)。

本地發(fā)布成功的頁面顯示
  • 2.從GitHub發(fā)布
    接下來我們來說一說怎么從GitHub發(fā)布。
    把選項卡切換到GitHub,你會發(fā)現(xiàn)是這樣的:
GitHub未建立連接

點connect一步步操作,建立與GitHub的連接。

與GitHub代碼倉庫建立連接

這里要選擇你的scrapy項目所在的倉庫,然后點擊Connect repo建立連接。

連接成功

然后點擊綠色的發(fā)布分支按鈕就可以了,發(fā)布成功之后會顯示和之前從本地發(fā)布一樣的頁面,這里不再贅述。

項目管理

發(fā)布成功之后回到主面板,點擊項目名稱進入到項目管理頁面。

管理

看到右上角那個綠色的run按鈕了沒,點它,你的spider就在scrapinghub上運行起來了,完全不需要自己去架設(shè)服務(wù)器。
并且在下面可以看到爬蟲的運行日志。如果你有多個爬蟲,可以在scrapy的配置文件中聲明爬蟲的優(yōu)先級,scrapinghub會按照優(yōu)先級順序依次執(zhí)行。并且會根據(jù)當(dāng)前的狀態(tài),分類列出你的爬蟲任務(wù)。

定時執(zhí)行

scrapinghub還有一個強大的功能就是定時執(zhí)行爬蟲任務(wù),一般我們的需求就是每天定時爬取某個站點來獲取更新的數(shù)據(jù),剛好定時任務(wù)就派上用場了。
在scrapinghub中創(chuàng)建定時任務(wù)也非常的簡單。

在菜單欄左側(cè)點擊Periodic Jobs,就進入到定時任務(wù)面板了。


創(chuàng)建定時任務(wù)

點擊綠色的Add Periodic job按鈕:


創(chuàng)建定時任務(wù)

選擇你需要定時執(zhí)行的spider名稱,在Priority中選擇執(zhí)行任務(wù)的優(yōu)先級,在右邊的時間設(shè)置面板中設(shè)置你要執(zhí)行的時間,點save保存,這樣一個定時的spider就創(chuàng)建好了,你就什么都不用關(guān)了,就每天從數(shù)據(jù)中取數(shù)據(jù)就完了。
當(dāng)然還有一些高級用法,比如添加參數(shù)什么的,就靠大家自己摸索了。

最后

如果你的爬蟲需要更新,就改完代碼重新發(fā)布一遍就可以了。還有其他很多好用的功能,大家可以多多探索。


抓到的一些數(shù)據(jù)
最后編輯于
?著作權(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)容

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