当前位置:   article > 正文

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

百度百科爬取


     博主将来想从事数据挖掘算法相关的工作,数据挖掘的前提是有数据可用,于是想学些与爬虫有关的技术。前几天从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管理器的启动,网页下载器的启动,网页解析的启动,网页输出、存储等。下面直接看代码。

  1. # coding: utf-8
  2. from baike_spider import html_downloader, url_manager, html_parser, html_outputer
  3. class SpiderMain(object):
  4. def __init__(self):#构造方法
  5. self.urls = url_manager.UrlManager()#初始化URL管理器
  6. self.downloader = html_downloader.HtmlDownloader()#初始化网页下载器
  7. self.parser = html_parser.HtmlParser()#初始化网页解析器
  8. self.outputer = html_outputer.HtmlOutputer()#初始化输出器
  9. def craw(self, root_url):#开始执行爬虫的方法
  10. count = 1#计数器,计数爬取页面的总数量
  11. count2 = 0#计数器,计数爬取失败的网页个数
  12. self.urls.add_new_url(root_url)#传入网页入口
  13. while self.urls.has_new_url():#对网页内包括的连接网页循环抓取,先判断URL管理器不空
  14. try:#有些页面可能失效了,要有异常处理
  15. new_url =
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/866233
推荐阅读
相关标签
  

闽ICP备14008679号