简单了解爬虫相关的基础知识
目录
一.爬虫
1.概念
2.爬虫常见的技术
二.反爬虫
1.通过 Headers 反爬虫
2.基于用户行为反爬虫
3.动态页面的反爬虫
一.爬虫
1.概念
爬虫就是通过技术手段获取网络上相关的数据,我们现在浏览的一些文字,图片,视频,都是存储在其他人的服务器上面,比如说淘宝,京东,哔哩哔哩
服务器也叫做节点,我们可以想像出一张大网出来,大网上有很多个节点,也就是服务器,爬虫就相当于是一个蜘蛛,踩在节点上面去获取网中的信息
爬虫最重要的一点就是定位,要知道获取资源的位置
2.爬虫常见的技术
Jsoup、selenium、scrapy、pyspider
Jsoupjava中常见的爬虫技术
selenium 通用于java和python
scrapy、pyspider是python常见的爬虫技术
二.反爬虫
既然我们可以通过爬虫去服务器获取数据,那么服务器不想让你获取也可以通过反爬虫不让你获取,比如说我搞了个服务器写了个网页专门放学习资料,好不容易搞了一个网页,你用爬虫爬了个一模一样的出来,那不行,我只能用比较常用的三种反爬虫技术来防止你爬我的数据
1.通过 Headers 反爬虫
如:通过浏览器请求头部信息
辨别你是人为请求还是机器爬虫请求
如果是人为请求,会带着自己的一些相关信息,让你请求成功
如果是爬虫请求,会带着一些程序的信息,不让你请求成功
2.基于用户行为反爬虫
如:根据同一IP一段时间内的访问频率
我们在访问别人的服务器的时候,服务器会保存你的IP,如果这个ip老是重复进入,服务器会把这个IP拉入黑名单,因为爬虫拉取数据重复发送或者访问,会被服务器监控,然后拉入黑名单,不让这个ip的主机访问我的网站。
3.动态页面的反爬虫
如:js、ajax动态渲染前端页面
我的网页不通过跳页面的方式加载数据,用渲染的方式,爬虫在爬我的数据的时候,能让一些爬虫失去作用,比如Jsoup。
jsoup是解析不了动态网页的,但是jsoup的效率非常高,在静态网页拉数据这方面是很厉害的