歡迎大家前往 "騰訊雲+社區" ,獲取更多騰訊海量技術實踐乾貨哦~ 本文由 "騰訊雲實驗室" 發表於 "雲+社區專欄" 騰訊雲提供了 "開發者實驗室" 教你搭建 PySpider 爬蟲服務,教程內容如下,用戶可以點擊 "開發者實驗室" 快速上機完成實驗。 環境準備 任務時間:5min ~ 10min ...
歡迎大家前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~
騰訊雲提供了開發者實驗室教你搭建 PySpider 爬蟲服務,教程內容如下,用戶可以點擊開發者實驗室快速上機完成實驗。
環境準備
任務時間:5min ~ 10min
前置環境部署
在開始部署前,我們需要做一些前置準備。
yum 更新
yum update -y
安裝開發編譯工具
yum install gcc gcc-c++ -y
安裝依賴庫
yum install python-pip python-devel python-distribute libxml2 libxml2-devel python-lxml libxslt libxslt-devel openssl openssl-devel -y
升級pip
pip install --upgrade pip
該步驟可選,但為了部署的穩定性,推薦執行
該步驟耗時可能較長(5~10min),請耐心等待
部署 mariadb
任務時間:10min ~ 20min
由於 CentOS 7 中 MySQL 資料庫已從預設的程式列表中移除,我們使用 mariadb 代替。
安裝 mariadb
yum install mariadb-server mariadb -y
啟動 mariadb 服務
systemctl start mariadb
設置 root 密碼
預設的root用戶密碼為空,你可以使用以下命令來創建 root 用戶的密碼:
(該步驟也可以跳過,password 後的 Password 可以改為任何你希望設置的密碼)
mysqladmin -u root password "Password"
檢查是否安裝成功
現在你可以嘗試通過以下命令來連接到 Mysql 伺服器
mysql -u root -p
然後輸入您剛纔設置的密碼 ( 預設:Password
),如果一切正常,您應該可以在命令行看到以 MariaDB [(none)]>
或 mysql>
開頭的提示了,說明連接成功。
此時輸入 SHOW DATABASES;
並回車,應該可以看到類似下麵這樣的輸出,說明一切正常。
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.13 sec)
完成後,可以通過快捷鍵 Ctrl+C
或命令行鍵入 exit
來退出,進入下一步。
如果您未設置密碼,直接使用
mysql
即可
部署 redis
任務時間:10min ~ 20min
下載、解壓安裝包
下載安裝包
wget http://download.redis.io/redis-stable.tar.gz
解壓安裝包
tar -xzvf redis-stable.tar.gz
移動解壓包到 /usr/local 內
mv redis-stable /usr/local/redis
編譯安裝
cd /usr/local/redis
make
make install
設置 redis 配置
設置配置文件路徑
mkdir -p /etc/redis
cp /usr/local/redis/redis.conf /etc/redis/redis.conf
修改 /etc/redis/redis.conf 文件的 daemonize
配置項為如下:
daemonize yes
啟動 redis 服務
/usr/local/bin/redis-server /etc/redis/redis.conf
部署 pyspider
任務時間:10min ~ 20min
安裝依賴
pip install --upgrade chardet
easy_install mysql-connector==2.1.3
easy_install redis
安裝 pyspider
pip install pyspider
配置 pyspider
首先創建配置目錄
mkdir /etc/pyspider
然後 /etc/pyspider
目錄下創建 pyspider.conf.json,參考下麵的內容。
具體配置的說明文檔請參考 官方文檔
示例代碼:/etc/pyspider/pyspider.conf.json
{
"taskdb": "mysql+taskdb://root:[email protected]:3306/taskdb",
"projectdb": "mysql+projectdb://root:[email protected]:3306/projectdb",
"resultdb": "mysql+resultdb://root:[email protected]:3306/resultdb",
"message_queue": "redis://127.0.0.1:6379/db",
"webui": {
"username": "root",
"password": "Password",
"need-auth": true
}
}
其中 mysql 配置中的 root
為您 mysql 的用戶名, root:
後面的 Password
為您剛設置的密碼。
webui
配置中的 username 及 password 為您訪問 WebUI 時候需要的用戶名,你也可以不設置用戶名密碼,直接將 need-auth
設為 false
即可。
啟動服務
pyspider -c /etc/pyspider/pyspider.conf.json
如果一切正常,現在訪問 http://<您的 CVM IP 地址>:5000,您應該可以看到 pyspider dashboard 的首頁了。
服務能夠正常啟動後,我們需要讓它能夠在後臺運行,您可以通過以下命令讓服務在後臺運行
nohup pyspider -c /etc/pyspider/pyspider.conf.json &
也可以使用官方推薦的 Supervisor 來啟動,這裡就不詳細介紹了,具體用法可以參考 Supervisor 的文檔
部署完成
任務時間:1min ~ 2min
訪問服務
此時您可以訪問 http://<您的 CVM IP 地址>:5000 使用您的爬蟲來搜集數據了,具體 pyspider 爬蟲腳本的編寫及使用教程可以參考 網上資料。
問答
BeautifulSoup和Scrapy爬蟲之間的區別?
相關閱讀
騰訊雲資料庫回檔解決方案
大數據在教育行業的研究與應用
看看上下文映射的清晰視圖
雲學院 · 課程推薦 | 知乎KOL,與你分享機器學習中如何做選擇
此文已由作者授權騰訊雲+社區發佈,原文鏈接:https://cloud.tencent.com/developer/article/1151513?fromSource=waitui
歡迎大家前往騰訊雲+社區或關註雲加社區微信公眾號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~