Python爬虫养成记-什么是网络爬虫

什么是爬虫

爬虫其实是一种从互联网上获取信息,并且提取我们需要的信息并且储存的手段。

互联网就像一张网,这种网是由一个个url相互连接的。一个url往往是对应着一张网页(Page). 各个页面通过url链接成了一个网状结构。

那么我们从一个页面出发,分析其中的url,然后再去访问该url对应的页面;再分析其中的url,并访问。如此重复并可以爬遍所有的页面。

简单地捋了一下,我们如果需要实现一只爬虫,则需要实现如下几个功能模块:

想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!

url管理器

url管理器应该维护两个不重复的set。一个储存未爬过的url,一个储存已经爬过的url。如果我们要将一个url加入未爬过的url set,那么这个url必须都不在两组set中。

网页下载器

接收url,将页面内容下来。

网页解析器

接收页面内容,从中提取出结构化的数据和url。

储存器

储存结构化的数据。

下面我们一步一步来认识我们设置的几个模块需要实现什么功能。

url管理器

url管理器主要需要维护两个集合:

已经抓取的url集合,我们叫做crawled_set

未抓取的url集合,我们叫做uncrawled_set

目的就是为了防止重复抓取循环抓取

我们来分解url管理器需要实现的功能:

判断一个url是否已经在容器中

判断uncrawled_set中是否为空。为空则停止爬取。

将一个url添加到容器的uncrawled_set中

将一个url从uncrawled_set移动到crawled_set中。

url管理器的实现方式有多种

将crawled_set和uncrawed_set存放在内存中。

Python支持set数据类型,可以建立两个set用来存放未爬和已爬url。

关系型数据库。

可以定义一个表,定义两个字段 url和is_crawled.

缓存数据库 redis

网页下载器

网页下载器就是更具url下载网页内容(html等)。

常见的网页下载器有

-urllib2

urllib2是python官方的基础模块。

-request

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/88619161