我们可以把互联网比作一张大网,而爬虫(网络爬虫)就是在网上爬行的蜘蛛。网络的节点被比作一个网页,当爬虫爬到它的时候,相当于访问了这个网页,获得了它的信息。节点之间的链接可以比作网页之间的链接,这样蜘蛛经过一个节点后,就可以沿着节点链接继续爬行,到达下一个节点,也就是通过一个网页继续获取后续的网页,这样整个网络的节点就可以被蜘蛛全部爬行到,网站的数据就可以被爬行下来。
简单来说,爬虫就是获取网页并提取和保存信息的自动化程序。
1.获取网页
爬虫首先要做的工作就是获取网页,就是获取网页的源代码。源代码李包含了网页的部分有用信息,所以只要把源代码获取下来,就可以从中提取到想要的信息了。
爬虫通过请求和响应来获取网页,向网站的服务器发送一个请求,返回的响应体便是网页源代码。所以,最关键的部分就是构造一个请求并发送给服务器,然后接受到响应并将其解析出来。
2.提取信息获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。
由于网页的结构由一定的规则,所以可以根据一些网页节点属性、CSS选择器或XPath来提取网页信息的库。
提取信息是爬虫非常重要的部分,它可以使杂乱的数据变得条理清晰,以便我们后续处理和分析。
3.保存数据提取信息后,我们一般会将提取到的数据保存到一些地方以便后续使用。这里保存形式多样,可以简单保存为TXT文本或JSON文本,也可以保存到数据库,如Mysql,还可以保存到远程服务器。
爬虫可以“爬”到怎样的数据
在网页中我们能看到各种各样的信息,最常见的便是常规网页,它们对应着HTML代码,而最常抓取的便是HTML源代码。另外,可能有些网页返回的数据不是HTML代码,而是一个JSON字符串(其中API接口大多采用这样的格式),这种格式的数据方便传输和解析,它们同样可以抓取,而且数据提取更加方便。