什么是爬虫
爬虫就是一个探测机器,他的基本操作就是模拟人的行为去各个网站溜达,看到数据就背回来,就像一只虫子在网上不知疲倦的爬来爬去。
- 在网站发展以前,最开始的网站数量很少,访问网站都是通过输入域名访问,比如访问sina.com,这个时候有什么就看什么?
- 随着互联网的发展,网站的数量呈现爆炸式的增长,这个时候随着用户越来越多,需求也就随着变化,由被动浏览变成主动查询?
- 搜索网站产生,随之搜索网站需要解决的第一个问题也就产生,怎么获取所有数据?
- 爬虫也就产生了!
爬虫能做什么
- 采集网络数据
- 自动化测试
- 做一些脱离手动的操作(帮人投票,12306抢票,微信聊天助手-itchat)
- 灰产业(薅羊毛,发起网络攻击,做水军)
数据能做什么
- 聚合产品(新闻网站,早期的今日头条)
- 搜索引擎(百度,谷歌)
- 数据分析、人工智能的源数据
- 特定领域的数据服务(二手车估价、天气预报、团购、去哪儿网等)
学好爬虫需要的知识
- 计算机网络(http/https协议,tcp/ip协议, socket编程)
- 前端基础
- 正则表达式
- 数据存储技术(分布式存储)
- 并发处理技术(多线程,多进程,线程池,协程)
- 图像识别(处理反爬、验证码), 机器学习算法(验证码、数据解析)
爬虫中要解决的问题
- 爬虫的采集和更新策略
- 解决反爬
- 数据解析
- 数据存储
- 模拟登陆(验证码识别)
- 爬虫的监控和部署
- 数据的去重(url去重,内容去重)
如何正确看待爬虫
- 爬虫不应该毫无节制
- robots协议
- 法律问题
- 爬虫不能抓取到页面上看不到的数据,是为了防止重复工作
- 目标网站会乖乖的让我们随便爬数据吗? – 反爬