提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一级目录
二级目录
三级目录
前言
提示:这里可以添加本文要记录的大概内容:
互联网上爬虫知识点堆积如山,各路大佬如过江之鲫。本系列只简单记录自己学习爬虫的历程和思考,没有知识点的堆积,重点是记录程序设计的思路和实现方案。
与君共勉
提示:以下是本篇文章正文内容,下面案例可供参考
一、简介
爬虫,简单来说就是使用程序代替手工,去不停的下载数据。
我们需要的数据有哪些呢?
- 有文本:某小说网站上的小说,我们想全文下载。
- 有音视频:某网站上的音视频,我们想下载了自己欣赏
- 有数据:某政府网站、某平台网站上各种各样的统计数据,我们要下载到本地进行分析
- 有APP数据:有些公司只发布了APP/小程序,我们想从APP里下载数据
这些就是爬虫能干的活,当然还有更高端的玩法,以后有机会再学习。
二、爬虫结构
任他再复杂的爬虫程序,也是由这三个主要结构组成。
- 请求
- 解析
- 存储
下面是详细解析
1.请求
请求是什么呢?回想一下,我们手工上网时,是不是要先输入目标网址,然后回车确认,这时候网页会“反应一会”(反应时长取决于电脑性能和网速),然后网页上就会显示出目标网站的信息了。
在这个过程中,我们“输入网址,按下回车”这个操作,就是“请求”,把我们想要的目标,发给了服务器,请求服务器给我们返回这个网址的信息。
浏览器“反应了一会”这个现象呢,就是服务器收到了“请求”,找到“目标数据”,然后顺着网线把数据返回给你的浏览器,这个现象,可以称之为“响应”。
你给服务器发请求,服务器给你响应,就是这么简单。
在爬虫中,我们经常使用Request这个工具,代替我们向服务器发起请求,并接收服务器的响应。
2.解析
当浏览器收到服务器发回来的信息时,并不能直接展示在页面中。
浏览器需要对数据进行一定的处理,才能展示出来。比如,解密数据、美化数据格式等等。
在爬虫中,我们需要的数据,往往只是浏览器展示出的所有数据的一小部分,因此我们需要一个解析工具,对浏览器收到的响应进行分析,只拿出我们想要的数据。
有很多解析工具可供使用,个人认为xpath和正则(re)搭配最简单,后文直接用这两个。
3. 存储
当我们获取到目标数据后,就要保存到本地,相当于“右键”、“另存为”。
我们常用的保存方式有:
- txt文本
- csv
- 数据库
- 音视频
这几种形式,在后文都会有涉及。具体案例具体分析。
总结
总结一下,爬虫难在哪里呢?
个人认为,难在程序设计,难在数据解析,难在反爬。
总之,开干就是了。