首页 > 编程语言 >python爬取之url管理器

python爬取之url管理器

时间:2023-07-17 14:46:57浏览次数:45  
标签:__ 管理器 python self return 爬取 url urls new

class UrlManager():
    #url管理器

    def __init__():#设置新老url数组,分别为未爬取和已爬取
        self.new_urls = set()
        self.old_urls = set()

    def add_new_url(self,url):#添加单个url
        if url is None or len(url) == 0:
            return
        if url in self.new_urls or url in self.old_urls:
            return
        self.new_urls.add(url)

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

    def get_url(self):#得到新的url最后一位
        if self.has_new_url():
            url = self.new_urls.pop()
            self.old_urls.add(url)
            return url
        else:
            return Nome

    def has_new_url(self):#查看新url数组是否还有
        return len(self.new_urls) > 0

if __name__=="__main__":
    url_manger = UrlManager()

 

标签:__,管理器,python,self,return,爬取,url,urls,new
From: https://www.cnblogs.com/cocotun/p/17560038.html

相关文章

  • python连接Mysql 1-01
    一,下载对应python环境的MySQL连接包我的是python3所以下载的是这个(cmd)pip3installPyMySQL二,创建py文件编写importpymysql#打开数据库连接db=pymysql.connect(host='localhost',user='root',password='123456',db='test1')#使用cursor()方法创建一个游......
  • python:python解析器和pycharm编译器安装
    python解析器下载地址:https://www.python.org/getit/注意事项:1.建议下载3.6以以上的版本,2.官网下载比较慢,可以自行寻找其它网站下载,3.建议使用.exe安装包方式下载安装 下载完成后双击运行     验证是否安装成功:  pycharm编译器下载......
  • Python 全栈工程师必备面试题 300 道(2020 版)
    2020元旦巨献,面试升级必备!献给正在学习Python的同学!Python全栈工程师必备面试题300道(2020版)Python面试不仅需要掌握Python基础知识和高级语法,还会涉及网络编程、web前端后端、数据库、网络爬虫、数据解析、数据分析和数据可视化等各方面的核心知识。针对网上资料参差不齐,并......
  • python操作mongodb实现读写分离
    读写分离默认情况下,MongoClient实例将查询发送到副本集的主要成员。要使用副节点作为查询,以实现读写分离,我们必须更改读取首选项:读取首选项在模块pymongo.ReadPreference下:PRIMARY:从主节点中读取(默认)PRIMARY_PREFERRED:优先从主节点读取,如果不可用则从副节点读取、SECOND......
  • python学习_循环结构(while循环和for循环)
    一、什么叫循环结构?反复做同一件事情的情况,就要循环python中的循环结构主要有两种:1)while2)for-in 二、while循环只要条件成立,其包含的某条语句或某个语句块就会一直被执行,while循环与if语句的区别就是if语句是判断一次,条件为True就执行一次执行体,while循环是判断N+1次,条件......
  • python操作mongodb基本使用
    使用pymongo,具体可以参考官方文档:语法上基本和原生mongodb是一样的,所以非常容易入手...https://pymongo.readthedocs.io/en/stable/tutorial.html日常使用importpprintimportpymongofrompymongo.collectionimportCollectionfrompymongo.databaseimportDatabasei......
  • Scrapy框架爬取HTTP/2网站
    scrapy本身是自带支持HTTP2的爬取:https://docs.scrapy.org/en/latest/topics/settings.html?highlight=H2DownloadHandler#download-handlers-base需要把这个包安装一下#本身scrapy就是基于Twisted的,http2是一个拓展包Twisted[http2]>=17.9.0然后在settings.py中打开下载......
  • Selenium接管已经打开的浏览器并爬取数据
    """P.S:需要接管现有浏览器**使用步骤:1、打开浏览器,设置好远程调试端口,并扫描登录淘宝。chrome.exe--remote-debugging-port=9333--user-data-dir="G:\spider_taobao"**2、运行程序,自动采集数据"""defmain():......
  • [案例]豆瓣电影信息爬取
    importjsonimportosimportrequestsfromlxmlimportetreefromlxml.etreeimport_ElementclassDoubanMovieSpider(object):def__init__(self):self.url="https://movie.douban.com/chart"self.headers={&qu......
  • python知识点
    anoldcat 博客园首页新随笔联系订阅管理随笔-66  文章-61  评论-7  阅读- 14万Python知识点大全(转载) 转载自:https://github.com/kenwoodjw/python_interview_question大佬总结得很好,本来我也想总结一个的,直到我看到了这个。。。额,我......