一个urllib2构建的html下载器的代理组件的实现方案

调用栈/函数链以下:python

情形一:下载器初始化时web

__init__
    buildOpener#构建opener
        newProxy4Opener#装备代理
            getNewProxy#获取代理
                maintainProxyPool#维护代理池
                    replenishProxies#补充代理
                        getProxiesFromLib#经过web服务获取指定数量的新代理

情形二:下载时函数

safeDownload#失败时自动尝试
    download#下载
        chgProxy#检测是否须要更换代理
            #知足随机条件,尝试装备新代理
            newProxy4Opener
                getNewProxy
                    maintainProxyPool
                        replenishProxies
                            getProxiesFromLib
            #目前代理失效,尝试装备新代理
            dropAndChangeProxy
                newProxy4Opener
                    getNewProxy
                        maintainProxyPool
                            replenishProxies
                                getProxiesFromLib
相关文章
相关标签/搜索