Python爬虫爬取百度百科内容实例

博主通过imooc学习Python爬虫,使用Python2.7实现爬取百度百科内容的实例,包括URL管理器、网页下载器、解析器和信息存储。课程适合初学者,代码已在WIN7+Eclipse+PyDev环境下验证无误。
摘要由CSDN通过智能技术生成


     博主将来想从事数据挖掘算法相关的工作,数据挖掘的前提是有数据可用,于是想学些与爬虫有关的技术。前几天从imooc中学习了Python开发简单爬虫课程(课程网址),功能是爬取百度百科的内容,如果网页上还有相关链接,把相关链接的网页的内容也爬取下来。感觉老师讲的非常好,对于刚接触爬虫的、对面向对象编程有一定了解的同学非常合适,详细程度可以说是手把手教学了。这里记录一下我的学习过程。只是个人理解,说的不对欢迎批评指正。

    首先介绍我的Python编程环境:WIN7+eclipse+PyDev+Python2.7 虽然Python已经有了更高版本Python3.5.*但是它相对Python2.7有较大的调整,网上关于3.5的教程也有限。我刚开始的时候就装了3.5,编程时遇到问题去百度,发现很多问题是由2.7和3.5两个版本编程兼容性导致的,在这方面吃了些亏,才重新安装了Python2.7,感觉不错。

   下面是学习过程的记录。

    爬虫的架构:爬虫调度端,URL管理器,网页下载器,网页解析器,有价值信息输出与存储。

    1.爬虫调度端。这部分因该具有的功能有输入要爬取的首页,还有爬虫的整体调度,如启动爬虫、url管理器的启动,网页下载器的启动,网页解析的启动,网页输出、存储等。下面直接看代码。

# coding: utf-8 

from baike_spider import html_downloader, url_manager, html_parser, html_outputer

class SpiderMain(object):
    def __init__(self):#构造方法
        self.urls = url_manager.UrlManager()#初始化URL管理器
        self.downloader = html_downloader.HtmlDownloader()#初始化网页下载器
        self.parser = html_parser.HtmlParser()#初始化网页解析器
        self.outputer = html_outputer.HtmlOutputer()#初始化输出器
            
    def craw(self, root_url):#开始执行爬虫的方法
        count = 1#计数器,计数爬取页面的总数量
        count2 = 0#计数器,计数爬取失败的网页个数
        self.urls.add_new_url(root_url)#传入网页入口
        while self.urls.has_new_url():#对网页内包括的连接网页循环抓取,先判断URL管理器不空
            try:#有些页面可能失效了,要有异常处理
                new_url =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值