# 爬虫介绍




### 什么是爬虫

爬虫实际上就是采集网络上数据的一段程序，如果把互联网比喻成一个蜘蛛网，那么蜘蛛就是在网上爬来爬去的蜘蛛，爬虫程序通过请求url地址，根据响应的内容进行解析采集数据， 比如：如果响应内容是html，分析dom结构，进行dom解析、或者正则匹配，如果响应内容是xml/json数据，就可以转数据对象，然后对数据进行解析。

### 资源视角

互联网上一切都是资源，比如视频资源，新闻资源等，爬虫实际上就是批量将别人的资源采集下来变成自己的资源的程序。


### 爬虫的一些例子

* 从其他网站爬取特定类型的商品信息，然后发布在自己的网上商城里
* 从其他网站爬取一些特定图片，展示在自己的网站里
* 搜索引擎爬取网站基本信息，收录在自己的搜索结果里

### 最简单的爬虫套路

* 访问1个站点，获取该站点的html代码
* 解析html代码，把感兴趣的数据从html代码里分离出来
* 保存这些数据

### 实际例子

假设我需要抓取[重定向科技目前开设的所有测试课程](http://www.itest.info/courses)，那么

* 先访问[所有课程页面](http://www.itest.info/courses)，把html代码拿到
* 解析html代码，从里面抠出来课程的名称和详情地址
* 保存课程的名称和地址

这样就可以实现一个最简单的网络爬虫了。

### 爬虫对于测试的意义

有时候自己去造一些测试数据是很麻烦的事情，这时候我们就可以使用爬虫去获取其他站点的类似数据，对数据进行加工后就可以当测试数据来使用了。

### Reference

* [大话爬虫的基本套路](https://blog.thankbabe.com/2017/09/25/spider)
* 推荐另一个不错的[python爬虫教程](https://zhuanlan.zhihu.com/p/21479334)，应该是基于python2.7




原始封面

![课程图片](https://images.unsplash.com/photo-1422493757035-1e5e03968f95?w=300)


