91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何免費創建云端爬蟲集群

發布時間:2020-07-24 02:16:40 來源:網絡 閱讀:624 作者:my8100 欄目:編程語言

在線體驗

scrapydweb.herokuapp.com

網絡拓撲圖

如何免費創建云端爬蟲集群

注冊帳號

  1. Heroku

訪問 heroku.com 注冊免費賬號(注冊頁面需要調用 google recaptcha 人機驗證,登錄頁面也需要科學地進行上網,訪問 app 運行頁面則沒有該問題),免費賬號最多可以創建和運行5個 app

如何免費創建云端爬蟲集群

  1. Redis Labs(可選)

訪問 redislabs.com 注冊免費賬號,提供30MB 存儲空間,用于下文通過 scrapy-redis 實現分布式爬蟲

如何免費創建云端爬蟲集群

通過瀏覽器部署 Heroku app

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

自定義部署

安裝工具

  1. Git
  2. Heroku CLI
  3. Python client for Redis:運行 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

創建 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. 添加環境變量

    • 設置時區
      # 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. 重復上述第2步和第3步完成余下三個 Scrapyd app 的部署和配置:svr-2svr-3svr-4

創建 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. 添加環境變量

    • 設置時區
      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
    如何免費創建云端爬蟲集群

部署和運行分布式爬蟲

  1. 上傳 demo 項目,即 scrapyd-cluster-on-heroku 目錄下的壓縮文檔 scrapy_redis_demo_project.zip
  2. 將種子請求推入 mycrawler:start_urls 觸發爬蟲并查看結果
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"}']

如何免費創建云端爬蟲集群

總結

  • 優點
    • 免費
    • 可以爬 Google 等外網
    • 可擴展(借助于 ScrapydWeb)
  • 缺點
    • 注冊和登錄需要科學地進行上網
    • Heroku app 每天至少自動重啟一次并且重置所有文件,因此需要外接數據庫保存數據,詳見 devcenter.heroku.com

GitHub 開源

my8100/scrapyd-cluster-on-heroku

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆安县| 祁阳县| 上蔡县| 高州市| 简阳市| 桑日县| 五指山市| 五寨县| 调兵山市| 霍山县| 邯郸县| 革吉县| 新邵县| 抚顺县| 甘南县| 始兴县| 庄浪县| 兰考县| 日土县| 铁岭县| 五台县| 灵宝市| 桂东县| 凤冈县| 灵台县| 麻阳| 张掖市| 达孜县| 拉萨市| 海丰县| 冕宁县| 来凤县| 普陀区| 丽江市| 石棉县| 龙泉市| 海淀区| 丰顺县| 壶关县| 莱阳市| 丰宁|