8种方法教你如何防范爬虫

随着人工智能产业的日益火热,各种大大小小的科技公司都开始想方设法收集尽量多的数据已满足自适日益增长的数据需求。为了获取足够多的数据,科技公司开发了大量的爬虫工具尽可能地爬取能够访问的网站。其中图片网站,视频网站,新闻网站是其中最大的受害者。对于网站所有者来说,这些爬虫程序除了占用宝贵的带宽和服务器资源以外,没有带来任何利益。与此同时,由于贷款被占用,计算资源被消耗,最后影响到了真正的用户。本文将探讨集中比较常用的方法,侦测并识别爬虫行为。如果有必要,可以拒绝这类访问行为。
Read more

使用MyBatis自动生成和更新Mapper

本文主要介绍MyBatis在Spring Boot中项目中的配置,以及自动生成和更新Mapper的操作流程。使用MyBatis可以很方便的创建Java中间件中数据持久层的基本数据操作逻辑。为我们节省了大量时间,避免了手动编写数据库增删改查的基础操作和数据映射代码。下面我们将从创建新表开始演示如何使用MyBatis自动生成和更新Mapper。
Read more

使用小米路由器实现局域网总代理

由于需要学习各种最新的开源技术,很多同学需要临时上网查询最新的技术方案。前几天看了一篇帖子写的不错,能够很方便的使用小米路由器实现上网功能。经过多次测试,好像只有小米路由器3是支持的。因此大家在动手之前,请先确认自己的路由器型号为MIR3。因为该方法中涉及到刷机等工作,所以选对型号非常重要。
Read more

简介3种浏览器爬虫方案

开发爬虫一般有两种常用的方案,一种是使用HTTP直接访问网站获取页面信息,另一种是使用模拟浏览器获取页面信息。两种方案各有利弊。例如:直接使用HTTP访问速度快,不会下载无用的JS数据和CSS数据,或者图片数据,内存使用量小,服务器的要求非常低;后者通常会加载完整的页面,虽然可以设置不加载图片,但是现在大型网站的一个页面的JS和CSS资源轻轻松松就超过10个文件以上。因此在速度和资源消耗上完全无法和前者相比。然而,前者也有非常明显的短板,对于反爬取非常复杂的网站,基本上都是通过JS实现的,例如动态令牌等。并且生成动态令牌的算法也是JS混淆加密,并且创建动态令牌的过程中也涉及到对称加密或者非对称加密等。这种情况下,想要模拟创建动态令牌并使用HTTP直接访问页面耗时耗力,花了很长时间破解了加密算法以后,页面端随便改个算法,这个破解过程要重来一遍,耗时耗力。这种情况下,使用模拟浏览器创建爬虫的方式相对就高效很多。
Read more