python爬虫调度器怎么用

发布时间:2020-12-01 09:13:12 作者:小新
来源:亿速云 阅读:142

小编给大家分享一下python爬虫调度器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

我们可以编写几个元件,每个元件完成一项功能,下图中的蓝底白字就是对这一流程的抽象:

python爬虫调度器怎么用

爬虫调度器将要完成整个循环,下面写出python下爬虫调度器的程序:

# coding: utf-8
new_urls = set()
data = {}
 
class SpiderMan(object):
    def __init__(self):
        #调度器内包含其它四个元件,在初始化调度器的时候也要建立四个元件对象的实例
        self.manager = UrlManager()
        self.downloader = HtmlDownloader()
        self.parser = HtmlParser()
        self.output = DataOutput()
 
    def spider(self, origin_url):
        #添加初始url
 
        self.manager.add_new_url(origin_url)
        #下面进入主循环,暂定爬取页面总数小于100
        num = 0
        while(self.manager.has_new_url() and self.manager.old_url_size()<100):
            try:
                num = num + 1
                print "正在处理第{}个链接".format(num)
                #从新url仓库中获取url
                new_url = self.manager.get_new_url()
                #调用html下载器下载页面
                html = self.downloader.download(new_url)
                #调用解析器解析页面,返回新的url和data
                try:
                    new_urls, data = self.parser.parser(new_url, html)
                except Exception, e:
                    print e
                for url in new_urls:
                    self.manager.add_new_url(url)
                #将已经爬取过的这个url添加至老url仓库中
                self.manager.add_old_url(new_url)
                #将返回的数据存储至文件
                try:
                    self.output.store_data(data)
                    print "store data succefully"
                except Exception, e:
                    print e
                print "第{}个链接已经抓取完成".format(self.manager.old_url_size())
 
            except Exception, e:
                print e
        #爬取循环结束的时候将存储的数据输出至文件
        self.output.output_html()

以上是“python爬虫调度器怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. laravel 任务调度器
  2. cocos2dx调度器scheduler怎么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python python爬虫 爬虫调度器

上一篇:python爬虫基础url管理器去重的方法

下一篇:怎么用python爬虫多线程快速获取视频

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》