免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

python分布式爬蟲中使用消息隊列的示例-創新互聯

這篇文章給大家分享的是有關python分布式爬蟲中使用消息隊列的示例的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

成都創新互聯公司主要為客戶提供服務項目涵蓋了網頁視覺設計、VI標志設計、營銷型網站建設、網站程序開發、HTML5響應式網站建設公司手機網站制作、微商城、網站托管及成都企業網站維護、WEB系統開發、域名注冊、國內外服務器租用、視頻、平面設計、SEO優化排名。設計、前端、后端三個建站步驟的完善服務體系。一人跟蹤測試的建站服務標準。已經為服務器租用行業客戶提供了網站建設服務。

實現分布式爬取的關鍵是消息隊列,這個問題以消費端為視角更容易理解。你的爬蟲程序部署到很多臺機器上,那么他們怎么知道自己要爬什么呢?總要有一個地方存儲了他們需要爬取的url吧,這樣他們才能工作。

假設有1萬個url需要爬取,而你有100個爬蟲程序部署在10臺機器上,每臺10個爬蟲程序在運行,一個url被分給爬蟲程序后,其他爬蟲不能再獲得這個url,不然,就重復爬取了,理解吧,分布式爬蟲的關鍵是怎么把任務分給這些爬蟲。

有些促銷活動的現場會進行抽獎活動,工作人員捧著一個透明的箱子,參與活動的人從箱子的小口處把手伸進去隨機拿出一張折疊的紙條,這種模式與消息隊列十分相似。消息隊列就好比這個抽獎的箱子,消費端的爬蟲程序就好比參與活動的顧客,爬蟲從消息隊列里拿出一個url任務,然后進行爬取,不同于抽獎活動時一個人只能拿一次,分布式爬蟲允許爬蟲在結束一個爬蟲任務后繼續從消息隊列里獲取任務。

使用redis的隊列做消息隊列

如果你只是簡單的寫一個分布式爬蟲,那么使用redis的隊列就可以了,它完全可以作為消息隊列來使用,下面的代碼是生產端的代碼示例

import redis
 
 
r = redis.Redis(host='127.0.0.1', port=6379,
                password='yourpassword', db=1)
 
 
# 生產10個url任務
for i in range(10):
    r.lpush('url_queue', i)

感謝各位的閱讀!關于python分布式爬蟲中使用消息隊列的示例就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

本文題目:python分布式爬蟲中使用消息隊列的示例-創新互聯
網站路徑:http://newbst.com/article12/dggsgc.html

成都網站建設公司_創新互聯,為您提供靜態網站網站排名網站內鏈服務器托管品牌網站制作云服務器

廣告

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

成都app開發公司