爬虫是什么意思(爬虫简介)
100次浏览 发布时间:2024-09-10 11:02:20
作为一名经管专业的学生,写论文,市场调研等等环节,都需要一些数据,那么这些数据从哪来呢?大致上有这几个渠道:

互联网上存在许多现有的,有一定价值的数据,可能我们希望批量的获取然后进行分析,对于大量的获取数据而言,爬虫就派上了用场。

爬虫是什么?
爬虫是一种按照一定规则,自动抓取万维网信息的程序或脚本,本质上是模仿用户的访问。我们平时访问互联网,主要的步骤就是

爬虫做的事情也是类似的,只不过是利用程序编写,完成自动化的重复上面的步骤,带来了极大的效率提升。
爬虫的分类
通常,我们可以把爬虫分为以下几类:
类型 | 特点 |
通用网络爬虫 | 爬行范围和数量巨大、爬行页面顺序要求低、并行工作方式,爬取互联网上的所有数据(门户站点搜索引擎、大型Web服务提供商采集数据) |
聚焦网络爬虫 | 又称主题网络爬虫,只爬行特定的数据,极大节省了硬件和网络资源 |
增量式网络爬虫 | 只抓取刚刚更新的数据,数据下载量少,及时更新已爬行的网页,减少时间和空间上的耗费、爬取到的都是最新页面 |
深层网络爬虫 | 大部分内容不能通过静态链接获取,隐藏在搜索表单后,用户提交一些关键词才能获得 |
爬虫的工作流程
一个爬虫的大致流程如下:

发送请求:
模拟用户的访问行为对url发起请求,get和post为最常见的请求方式之一。
- url:L是Uniform Resource Locator的缩写,即统一资源定位符,俗称网址。每一个信息资源在网上都有唯一的一个地址。
- get:发送请求获取服务器上的资源
- post:向服务器提交资源让服务器处理
获取响应内容:
发送请求之后,只要请求正确,就可以接收到服务器返回的内容,有些时候可以通过状态码判断请求的状态。

解析内容:
在响应的内容中,提取出来我们需要的内容,有可能是从html标签中提取需要的内容,有可能是从json中提取,也有可能获取混乱的数据,需要进行解密才能读取。
存储:
将提取出来的内容进行持久化存储,以便后续的使用。
上述四个内容对应的实现代码可能是:

爬虫的矛盾,技术的两面性
- 反爬机制:网站通过制定相应的策略或技术手段,防止爬虫程序进行数据的爬取
- 反反爬机制:破解反爬机制
- Robots.txt协议:君子协议
有些网站并不希望我们批量的获取他们的数据,而且大量的爬虫对于网站是一种负担,尤其是大量的分布式爬虫。有了反爬机制,就会有反反爬的机制,即尝试去破解反爬,进而爬取数据的这样一个过程。技术本身而言是中立的,就看我们怎么去使用了。
回到我自己本身,有时候确实需要去获取一些数据用于分析,我在编写爬虫的时候,会限制一下爬虫的频率,尽量“温和”的获取数据,尽管效率没那么高,但是也比手工获取效率高得多。
