一般来说 , 需要爬出来的信息都是结构化的 , 如果不是结构化的 , 那么也就没什么意义了(百分之八十的数据是非结构化的) 。爬虫的规模可达可小 , 小到可以爬取豆瓣的top 250电影 , 定时爬取一个星期的天气预报等 。大到可以爬取整个互联网的网页(例如google) 。下面这些 , 我认为都可以叫做爬虫:1.爬知乎的作者和回答2.爬百度网盘的资源 , 存到数据库中(当然 , 只是保存资源的链接和标题) , 然后制作一个网盘的搜索引擎3.同上 , 种子网站的搜索引擎也是这样的到这里 , 我们知道爬虫的任务是获取数据 。
现在比较流行大数据 , 从互联网方面讲 , 数据可以分成两种 , 一种是用户产生的(UGC) , 第二种就是通过一些手段获得的 , 通常就是爬虫 。爬虫又不仅仅局限于从网页中获得数据 , 也可以从app抓包等 。简而言之 , 就是聚合数据并让他们结构化 。那么 , 哪些工作需要爬虫呢?2.爬虫能做什么?典型的数据聚合类的网站都需要爬虫 。比如Google搜索引擎 。
Google能在几毫秒之内提供给你包含某些关键字的页面 , 肯定不是实时给你去找网页的 , 而是提前抓好 , 保存在他们自己的数据库里(那他们的数据库得多大呀) 。所以种子搜索引擎 , 网盘搜索引擎 , Resillio key引擎等都是用爬虫实现抓好数据放在数据库里的 。另外有一些提供信息对比的网站 , 比如比价类的网站 , 就是通过爬虫抓取不同购物网站商品的价格 , 然后将各个购物网站的价格展示在网站上 。
购物网站的价格时时都在变 , 但是比价网站抓到的数据不会删除 , 所以可以提供价格走势 , 这是购物网站不会提供的信息 。除此之外 , 个人还可以用爬虫做一些好玩的事情 。比如我们想看大量的图片 , 可以写一个爬虫批量下载下来 , 不必一个一个点击保存 , 还要忍受网站的广告了;比如我们想备份自己的资料 , 例如保存下来我们在豆瓣发布过的所有的广播 , 可以使用爬虫将自己发布的内容全部抓下来 , 这样即使一些网站没有提供备份服务 , 我们也可以自己丰衣足食 。
二、爬虫工程师需要掌握哪些技能?我见过这样的说法:“爬虫是低级、重复性很多的工作 , 没有发展前途” 。这是误解 。首先 , 对于程序员来说基本上不存在重复性的工作 , 任何重复劳动都可以通过程序自动解决 。例如博主之前要抓十几个相似度很高但是html结构不太一样的网站 , 我就写了一个简单的代码生成器 , 从爬虫代码到单元测试代码都可以自动生成 , 只要对应html结构稍微修改一下就行了 。
所以我认为 , 重复性的劳动在编程方面来说基本上是不存在的 , 如果你认为自己做的工作是重复性的 , 说明你比较勤快 , 不愿意去偷懒 。而我还认为 , 勤快的程序员不是好程序员 。下面我根据自己这段时间的工作经历 , 讲一讲爬虫需要哪些相关的技能 。1.基本的编码基础(至少一门编程语言)这个对于任何编程工作来说都是必须的 。基础的数据结构你得会吧 。
数据名字和值得对应(字典) , 对一些url进行处理(列表)等等 。事实上 , 掌握的越牢固越好 , 爬虫并不是一个简单的工作 , 也并不比其他工作对编程语言的要求更高 。熟悉你用的编程语言 , 熟悉相关的框架和库永远是百益无害 。我主要用Python , 用Java写爬虫的也有 , 理论上讲任何语言都可以写爬虫的 , 不过最好选择一门相关的库多 , 开发迅速的语言 。
推荐阅读
- 手机像素,2500~2999
- 【今日话题】你们的旧手机怎么处理了?
- 选一个你称心如意的浏览器
- T3?
- 滕州今日房价走势,滕州明年房价走势
- 盒子桌面软件哪个好,电视盒子和第三方软件哪个好
- 大搜车怎么样,大搜车怎么样谁知道
- 干洗店加盟装修,ucc怎么加盟
- 对组织部的认识怎么写,组织部介绍怎么写
- 手机在哪,轻松帮你找到手机