怎么在python爬蟲中利用url管理器實現一個去重功能-創新互聯

這篇文章將為大家詳細講解有關怎么在python爬蟲中利用url管理器實現一個去重功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

創新互聯公司專注于企業全網整合營銷推廣、網站重做改版、金臺網站定制設計、自適應品牌網站建設、H5技術商城網站定制開發、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為金臺等各大城市提供網站開發制作服務。

URL管理器到底應該具有哪些功能?


  • URL下載器應該包含兩個倉庫,分別存放沒有爬取過的鏈接和已經爬取過的鏈接。

  • 應該有一些函數負責往上述兩個倉庫里添加鏈接

  • 應該有一個函數負責從新url倉庫中隨機取出一條鏈接以便下載器爬取

  • URL下載器應該能識別重復的鏈接,已經爬取過的鏈接就不需要放進倉庫了

怎么在python爬蟲中利用url管理器實現一個去重功能

如果一個URL管理器能夠具有以上4點功能,也算是“麻雀雖小,五臟俱全”了。然而,鏈接去重這個功能,應該怎么實現?

鏈接去重是關系爬蟲效率的一個比較關鍵的點,尤其是爬取的數據量極大的時候。在這個簡單的例子里,由于數據量較少,我們不需要太過復雜的算法,直接借助于python的set()函數即可,該函數可以生成一個集合對象,其元素不可重復。

根據以上分析,URL管理器的w代碼如下:

'''
UrlManager
class UrlManager(object):
  def __init__(self):
    #初始化的時候就生成兩個url倉庫
    self.new_urls = set()
    self.old_urls = set()
  #判斷新url倉庫中是否還有沒有爬取的url
  def has_new_url(self):
    return len(self.new_urls)
  #從new_url倉庫獲取一個新的url
  def get_new_url(self):
    return self.new_urls.pop()
  def add_new_url(self, url):  #這個函數后來用不到了……
    '''
    將一條url添加到new_urls倉庫中
    parm url: str
    return:
    if url is None:
      return
    #只需要判斷old_urls中沒有該鏈接即可,new_urls在添加的時候會自動去重
    if url not in self.old_urls:
      self.new_urls.add(url)
  def add_new_urls(self, urls):
    將多條url添加到new_urls倉庫中
    parm url: 可迭代對象
    print "start add_new_urls"
    if urls is None or len(urls) == 0:
    for url in urls:
      self.add_new_url(url)
  def add_old_url(self, url):
    self.old_urls.add(url)
    print "add old url succefully"
  #獲取已經爬取過的url的數目
  def old_url_size(self):
    return len(self.old_urls)

關于怎么在python爬蟲中利用url管理器實現一個去重功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網站題目:怎么在python爬蟲中利用url管理器實現一個去重功能-創新互聯
本文地址:http://m.kartarina.com/article18/dodidp.html

成都網站建設公司_創新互聯,為您提供做網站、定制開發、網站策劃網站設計、云服務器、網站導航

廣告

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

成都定制網站建設
主站蜘蛛池模板: 无码视频一区二区三区| 日日麻批免费40分钟无码| 色欲aⅴ亚洲情无码AV| yy111111电影院少妇影院无码| 亚洲精品无码久久久久| 亚洲AV无码成人网站在线观看| 亚洲精品97久久中文字幕无码 | 91久久九九无码成人网站| 在线无码视频观看草草视频| 日韩精品人妻系列无码专区免费| 无码国产69精品久久久久孕妇| 亚洲国产超清无码专区| 免费无码作爱视频| 最新亚洲人成无码网www电影| 亚洲AV无码国产精品色| 国产在线无码视频一区二区三区| 色综合热无码热国产| 亚洲国产AV无码一区二区三区| 无码国产色欲XXXXX视频| 亚洲人成无码网WWW| 无码AV动漫精品一区二区免费| 亚洲色无码专区一区| 高清无码午夜福利在线观看| 亚洲日韩精品无码专区网址| 亚洲av无码成人精品区| 东京热HEYZO无码专区| 久久久国产精品无码一区二区三区| 亚洲AV综合色区无码二区爱AV| 色综合久久久久无码专区| 亚洲精品无码AV人在线播放| 岛国无码av不卡一区二区| 中文成人无码精品久久久不卡| 日韩人妻无码精品专区| 亚洲人成无码网站| 亚洲Av永久无码精品三区在线| 无码国产精品一区二区免费式芒果| 亚洲AV无码久久精品蜜桃| 亚洲午夜国产精品无码老牛影视| 中文字幕精品无码一区二区三区| 亚洲精品色午夜无码专区日韩| 无码人妻一区二区三区免费看|