Python爬虫实战项目1 | 基础爬虫的实现(爬取100条百度百科词条)

【基础爬虫篇】

本篇讲解一个比较简单的Python爬虫。

这个爬虫虽然简单,但五脏俱全,大爬虫有的模块这个基础爬虫都有,只不过大爬虫做的更全面、多样。

1.实现的功能:这个爬虫实现的功能为爬取百度百科中的词条信息。爬取的结果见6。

2.背景知识:(1).Python语法;(2).BeautifulSoup;(3).HTML知识;

                       Python基础语法学习可参看:推荐《Python编程——从入门到实践》,或者廖雪峰Python博客。

                       BeautifulSoup主要语法可参看:BeautifulSoup主要知识点

3.基础爬虫框架及运行流程

基础爬虫包括五个模块,分别是爬虫调度器,URL管理器,HTML下载器,HTML解析器,数据存储器。
功能分析如下:
(1).爬虫调度器主要负责统筹其他四个模块的协调工作;
(2).URL管理器负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口;
(3).HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HTML网页;
(4).HTML解析器用于从HTML下载器中获取已经下载的HTML网页,并从中解析出新的URL链接交给URL管理器,解析出有效数据交给数据存储器。
(5).数据存储器用于将HTML解析器解析出来的数据通过文件或者数据库的形式解析出来。

文件组织目录:

其中__init__.py的内容为空,它的作用简单说就是让这个包变成一个模块,身份发生了变化。

1.URL管理器
链接去重复在Python爬虫开发中是必备的技能,解决方案主要有三种:1).内存去重;2).关系数据库去重;3).缓存数据库去重;在这个基础爬虫中,我使用了Python中的set这种内存去重方式,因为数据量比较少。 

# url管理器

class UrlManager(object):
    def __init__(self):
        self.new_urls = set()
        self.old_urls = set()

    def has_new_url(self):
        '''
        判断是否有未爬取的URL
        :return:
        '''
    
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值