如何免費(fèi)創(chuàng)建云端爬蟲集群

在線體驗(yàn)

scrapydweb.herokuapp.com

10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有陽曲免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

網(wǎng)絡(luò)拓?fù)鋱D

如何免費(fèi)創(chuàng)建云端爬蟲集群

注冊帳號

  1. Heroku

訪問 heroku.com 注冊免費(fèi)賬號(注冊頁面需要調(diào)用 google recaptcha 人機(jī)驗(yàn)證,登錄頁面也需要科學(xué)地進(jìn)行上網(wǎng),訪問 app 運(yùn)行頁面則沒有該問題),免費(fèi)賬號最多可以創(chuàng)建和運(yùn)行5個 app

如何免費(fèi)創(chuàng)建云端爬蟲集群

  1. redis Labs(可選)

訪問 redislabs.com 注冊免費(fèi)賬號,提供30MB 存儲空間,用于下文通過 scrapy-redis 實(shí)現(xiàn)分布式爬蟲。

如何免費(fèi)創(chuàng)建云端爬蟲集群

通過瀏覽器部署 Heroku app

  1. 訪問 my8100/scrapyd-cluster-on-heroku-scrapyd-app 一鍵部署 Scrapyd app。(注意更新頁面表單中 Redis 服務(wù)器的主機(jī),端口和密碼)
  2. 重復(fù)第1步完成4個 Scrapyd app 的部署,假設(shè)應(yīng)用名稱為 svr-1, svr-2, svr-3svr-4
  3. 訪問 my8100/scrapyd-cluster-on-heroku-scrapydweb-app 一鍵部署 ScrapydWeb app,取名 myscrapydweb
  4. (可選)點(diǎn)擊 dashboard.heroku.com/apps/myscrapydweb/settings 頁面中的 Reveal Config Vars按鈕相應(yīng)添加更多 Scrapyd server,例如 KEY 為 SCRAPYD_SERVER_2, VALUE 為 svr-2.herokuapp.com:80#group2
  5. 訪問 myscrapydweb.herokuapp.com
  6. 跳轉(zhuǎn) 部署和運(yùn)行分布式爬蟲 章節(jié)繼續(xù)閱讀。

自定義部署

安裝工具

  1. Git
  2. Heroku CLI
  3. Python client for Redis:運(yùn)行 pip install redis 命令即可。

下載配置文件

新開一個命令行提示符:

git clone https://github.com/my8100/scrapyd-cluster-on-heroku
cd scrapyd-cluster-on-heroku

登錄 Heroku

heroku login
# outputs:
# heroku: Press any key to open up the browser to login or q to exit:
# Opening browser to https://cli-auth.heroku.com/auth/browser/12345-abcde
# Logging in... done
# Logged in as username@gmail.com

創(chuàng)建 Scrapyd 集群

  1. 新建 Git 倉庫

    cd scrapyd
    git init
    # explore and update the files if needed
    git status
    git add .
    git commit -a -m "first commit"
    git status
  2. 部署 Scrapyd app

    heroku apps:create svr-1
    heroku git:remote -a svr-1
    git remote -v
    git push heroku master
    heroku logs --tail
    # Press ctrl+c to stop logs outputting
    # Visit https://svr-1.herokuapp.com
  3. 添加環(huán)境變量

    • 設(shè)置時區(qū)
      # python -c "import tzlocal; print(tzlocal.get_localzone())"
      heroku config:set TZ=Asia/Shanghai
      # heroku config:get TZ
    • 添加 Redis 賬號(可選,詳見 scrapy_redis_demo_project.zip 中的 settings.py
      heroku config:set REDIS_HOST=your-redis-host
      heroku config:set REDIS_PORT=your-redis-port
      heroku config:set REDIS_PASSWORD=your-redis-password
  4. 重復(fù)上述第2步和第3步完成余下三個 Scrapyd app 的部署和配置:svr-2,svr-3svr-4

創(chuàng)建 ScrapydWeb app

  1. 新建 Git 倉庫

    cd ..
    cd scrapydweb
    git init
    # explore and update the files if needed
    git status
    git add .
    git commit -a -m "first commit"
    git status
  2. 部署 ScrapydWeb app

    heroku apps:create myscrapydweb
    heroku git:remote -a myscrapydweb
    git remote -v
    git push heroku master
  3. 添加環(huán)境變量

    • 設(shè)置時區(qū)
      heroku config:set TZ=Asia/Shanghai
    • 添加 Scrapyd server(詳見 scrapydweb 目錄下的 scrapydweb_settings_v8.py
      heroku config:set SCRAPYD_SERVER_1=svr-1.herokuapp.com:80
      heroku config:set SCRAPYD_SERVER_2=svr-2.herokuapp.com:80#group1
      heroku config:set SCRAPYD_SERVER_3=svr-3.herokuapp.com:80#group1
      heroku config:set SCRAPYD_SERVER_4=svr-4.herokuapp.com:80#group2
  4. 訪問 myscrapydweb.herokuapp.com
    如何免費(fèi)創(chuàng)建云端爬蟲集群

部署和運(yùn)行分布式爬蟲

  1. 上傳 demo 項(xiàng)目,即 scrapyd-cluster-on-heroku 目錄下的壓縮文檔 scrapy_redis_demo_project.zip
  2. 將種子請求推入 mycrawler:start_urls 觸發(fā)爬蟲并查看結(jié)果
In [1]: import redis  # pip install redis

In [2]: r = redis.Redis(host='your-redis-host', port=your-redis-port, password='your-redis-password')

In [3]: r.delete('mycrawler_redis:requests', 'mycrawler_redis:dupefilter', 'mycrawler_redis:items')
Out[3]: 0

In [4]: r.lpush('mycrawler:start_urls', 'http://books.toscrape.com', 'http://quotes.toscrape.com')
Out[4]: 2

# wait for a minute
In [5]: r.lrange('mycrawler_redis:items', 0, 1)
Out[5]:
[b'{"url": "http://quotes.toscrape.com/", "title": "Quotes to Scrape", "hostname": "d6cf94d5-324e-4def-a1ab-e7ee2aaca45a", "crawled": "2019-04-02 03:42:37", "spider": "mycrawler_redis"}',
 b'{"url": "http://books.toscrape.com/index.html", "title": "All products | Books to Scrape - Sandbox", "hostname": "d6cf94d5-324e-4def-a1ab-e7ee2aaca45a", "crawled": "2019-04-02 03:42:37", "spider": "mycrawler_redis"}']

如何免費(fèi)創(chuàng)建云端爬蟲集群

總結(jié)

  • 優(yōu)點(diǎn)
    • 免費(fèi)
    • 可以爬 Google 等外網(wǎng)
    • 可擴(kuò)展(借助于 ScrapydWeb)
  • 缺點(diǎn)
    • 注冊和登錄需要科學(xué)地進(jìn)行上網(wǎng)
    • Heroku app 每天至少自動重啟一次并且重置所有文件,因此需要外接數(shù)據(jù)庫保存數(shù)據(jù),詳見 devcenter.heroku.com

GitHub 開源

my8100/scrapyd-cluster-on-heroku

當(dāng)前名稱:如何免費(fèi)創(chuàng)建云端爬蟲集群
標(biāo)題URL:http://m.kartarina.com/article10/jedigo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、用戶體驗(yàn)、網(wǎng)站改版、品牌網(wǎng)站建設(shè)、商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
主站蜘蛛池模板: 亚洲日韩一区二区一无码| 亚洲中文久久精品无码ww16| 亚洲AV无码一区二区三区人| 久久久久久精品无码人妻| 波多野结衣VA无码中文字幕电影| 国产成人无码精品一区在线观看| 无码人妻一区二区三区免费看 | 亚洲最大av资源站无码av网址 | 精品无码中文视频在线观看 | 久久久无码中文字幕久...| 国产成人无码免费看视频软件| 国产成人精品无码一区二区老年人| 亚洲啪啪AV无码片| 亚洲精品无码成人片在线观看 | 国产丰满乱子伦无码专| 无码人妻熟妇AV又粗又大| 免费无码黄十八禁网站在线观看| 久久精品亚洲中文字幕无码网站| 亚洲毛片av日韩av无码| 一本久道综合在线无码人妻| 亚洲av无码国产精品夜色午夜| 色欲AV无码一区二区三区 | 亚洲午夜无码久久| 亚洲av日韩av无码| 亚洲永久无码3D动漫一区| 久久无码一区二区三区少妇| 伊人蕉久中文字幕无码专区| 国产精品成人一区无码| 亚洲youwu永久无码精品| 亚洲av无码久久忘忧草| 无码人妻精品一区二区三区在线| 国产av无码专区亚洲av果冻传媒| WWW久久无码天堂MV| 熟妇人妻无码中文字幕老熟妇| 久久久久亚洲AV无码网站| 久久99精品久久久久久hb无码| 久久久久亚洲精品无码蜜桃| 日韩精品久久无码人妻中文字幕| 亚洲国产精品无码AAA片| 无码h黄动漫在线播放网站| 四虎成人精品无码|