Python爬蟲學習(三)---- 爬蟲URL管理器

爬蟲url管理器

此管理器的主要作用:
1. 將新搜尋到的url加入到新url的set( )數據結構中。
2.將已搜尋的url加入到舊url的set( )數據結構中

實現代碼

實現了對url的一系列控制,保證不會有重複的url地址或者不會來回幾個地址重複搜尋。

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
__author__ = 'Gary'

# 爬蟲url管理器

class UrlManager(object):
    def __init__(self):
        self.new_urls = set()
        self.old_urls = set()


    def add_new_url(self, url):
        if url is None:
            return
        # 如果這個url既不在新的url列表鍾又不在舊的url列表中,說明這是一個新的url地址
        if url not in self.new_urls and url not in self.old_urls:
            self.new_urls.add(url)

    def add_new_urls(self, urls):
        if urls is None or len(urls) == 0 :
            return
        for url in urls:
            self.add_new_url(url)

    def has_new_url(self):
        # 如果新的url長度不等於0,就說明有的地址
        return len('self.new_urls') != 0

    def get_new_url(self):
        new_url = self.new_urls.pop()
        self.old_urls.add(new_url)
        return new_url

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章