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

你可能感兴趣的:(Python)