如何將爬蟲託管在伺服器上?你們是如何做的?
12-28
下面提到的都是一些自己的經驗和感受,如果不對,請及時給予糾正
- 多線程問題,在設計爬蟲使用多線程,多是解決與網路通信和頁面解析的瓶頸,http請求和dom建立都是很消耗時間的。針對簡單爬蟲任務,一定要可以把任務分多個線程處理,就像用Python Requests抓取知乎用戶信息(二)中提到的「針對post數據中參數offset的奇偶性分成兩個線程thread1和thread2即可」發送的發生,任務一定要好分,斷點續傳等任務一定要較為簡單。提到:「讓爬蟲順著關注者網路一直抓下去」,這個有可能就涉及都去重問題,我感覺可能會比較複雜。
- 在爬取一些小網站的內容時,確實遇到給對方伺服器造成較大壓力,導致其404,最終只能是使用sleep,減少訪問的頻率。(如果有更好的辦法,希望介紹一下)
- 託管在伺服器上的問題,對阿里雲和BEA,都不是很熟,多數python程序是放在自己的伺服器或者主機上,不停的運行,ps:斷點續傳很重要。
1. 買一個vps。通過web方式,給vps裝上操作系統,如ubuntu。這個供應商會有專門教程。
過了幾天幾個星期,ssh登錄上去看看抓了多少。然後scp回自己的電腦分析。
2. 用ssh 登錄到vps上,然後把你的代碼放上去。然後運行「nohup python ./youcode.py 」,於是你的crawler就會持續運行下去。將轉到的數據存在文件里,這個是你代碼里寫的。
3. 退出ssh。
我來講一下吧。因為之前創業公司做過運維總監。爬蟲程序可以選擇python scrapy架構或者JAVA加多線程中間件用(rabbitmq,activemq等)後端數據(手機號碼,物品信息,comments等)直接存儲到mysql或者couchdb,mongodb。圖片爬下來之後可存到TFS集群上特別好我一般不告訴別人。try scrapy, 它應該有你所有考慮到和沒考慮到的問題和實現
請問純綷學習用途, 有沒有免費的雲端可用? 我用Scrapy的.
bae3.0新增了workor類型,專門用來跑爬蟲的
不過貌似沒有免費額度,我也沒有嘗試
推薦閱讀: