學會了這項技能,你就能得到任何想要的信息!

歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~html

本文由騰訊雲實驗室發表於雲+社區專欄python

騰訊雲提供了開發者實驗室教你搭建 PySpider 爬蟲服務,教程內容以下,用戶能夠點擊開發者實驗室快速上機完成實驗。mysql

環境準備

任務時間:5min ~ 10minc++

前置環境部署

在開始部署前,咱們須要作一些前置準備。web

yum 更新redis

yum update -y
複製代碼

安裝開發編譯工具sql

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
複製代碼

升級pipjson

pip install --upgrade pip
複製代碼

該步驟可選,但爲了部署的穩定性,推薦執行bash

該步驟耗時可能較長(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:Password@127.0.0.1:3306/taskdb",
  "projectdb": "mysql+projectdb://root:Password@127.0.0.1:3306/projectdb",
  "resultdb": "mysql+resultdb://root:Password@127.0.0.1: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,與你分享機器學習中如何作選擇

**此文已由做者受權騰訊雲+社區發佈,原文連接:cloud.tencent.com/developer/a… **

歡迎你們前往騰訊雲+社區或關注雲加社區微信公衆號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~

相關文章
相關標籤/搜索