一、什么是爬虫
爬虫就是获取网页并提取和保存信息的自动化程序。
1)我们可以把互联网比作一张大网,而爬虫(网络爬虫)便是在网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被抓取下来了。
2)虽然不使用爬虫我们通过手工方式也可以提取网页中的信息,但是当量特别大或者想快速获取大量数据的话,肯定还是要借助程序的。爬虫就是代替我们来完成这份工作的自动化程序,它可以在抓取过程中进行各种异常、错误重试等操作,确保爬取持续高效地运行。
二、爬虫爬虫的过程
1、获取网页
爬虫首先要做的工作就是获取网页,也就是获取网页的源代码,然后从源代码中提取想要的信息。
一般情况下,向网站服务器发送一个请求,返回的响应体就是网页源代码。为了构造请求并发送给服务器,然后接收到响应并将其解析出来,Python提供了许多库来帮助我们实现这个操作,如urllib,request等。我们可以用这些库来帮助我们实现HTTP请求操作。
2、提取信息
获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。提取方法有两种:
- 采用正则表达式提取,这是一个万能的方法,但是在构造正则表达式时比较复杂且容易出错。
- 由于网页的结构有一定的规则,所以还有一些根据网页节点属性、CSS选择器或Xpath选择器来获取网页信息的库,如Beautiful Soup、pyquery、lxml等。使用这些库可以高效快速地从中提取网页信息,如节点的属性、文本值等。
3、保存数据
提取信息后,一般会将提取到的数据保存到某处以便后续使用。保存形式多种多样,可以简单保存为TXT文本或JSON文本,也可以保存到数据库,如MySQL和MongoDB等,也可以保存至远程服务器,如借助SFTP进行操作。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试