前端反爬思考,好友从百度搜到了我的文章,链接却是别人的

news/2024/7/19 9:00:11 标签: 前端, 开发语言, python, 后端, 爬虫

今天感叹可以改完八阿哥早点下班,在吃饭的时候,就想着自己也写了一段时间了,看看百度这个强大的引擎能不能搜到我的博客文章。

1、发现文章被爬走了

        吃饭的时候用手机搜的,感觉还挺开心,我还给朋友炫耀,你看,百度搜到的第一篇就是我的文章,而且还并非用我文章的标题搜索的,搜的是 2023年前端趋势

        后来打开电脑在思考,今天写点什么呢,于是怀着异常嗨皮的心情,用PC电脑打开百度搜索了一下,第一眼挺开心,但后来就不开心了,这明显不是我每天参与的社区CSDN啊,打开进去一看,文字还是那些熟悉的文章,截图还是那些熟悉的截图,但去了别人网上了,而且貌似阅读量比我的还高。

        

         于是我打开了客服,问问有没有办法,毕竟深夜码字不易,大家写博客的很多和我应该有同样的心情,刚开始没有粉丝,没有阅读量很发愁,于是拼命的写,写着写着把自己那点干货写完了,发现还是没有效果。但是排名,阅读量还是上不去,你就说熬了一夜又一夜,是不是很沮丧,曾经多少次都想放弃。 

        

        

2、一点思考

        其实现在技术挺强大的,网络充斥着各种各样的烟雾弹,让人防不胜防,你想好好写一篇博客吧,也能被爬走,你说你如果说明了转载自哪里哪里,我也觉得开心一些,毕竟自己的认知被别人所接受了,然后希望可以拿到更远处,散播给更多需要帮助的人。但这全然不是啊。

        之间我们探讨过一个问题,你的职业未来发展方向在哪里?

        比如前端,java,越来越成熟,比如vue react,之前颠覆了jquery ,angular ,现在慢慢变成了最熟人所用的前端技术栈,那么未来想要再次颠覆可能就很难了。

        现在我们的网站都有自己的技术团队,那么你做的东西,可能技术点还是次要,数据才是最重要的。但对于现在越来越成熟的爬虫技术,我们是否能形成自己的反爬虫技术呢?

3、对于前端开发,我们可以反爬吗?

        这个大数据时代,如果你想做一家网站,或者就是做一个知识网站,怎么可能花钱顾那么多人去写呢,所以phython一把,丰衣足食。

        而现在phython工程师那么值钱,肯定是有大量的反爬技术的,也就是说这些爬手工程师其实也在不断精进自己的技术。他们也得背面试题,也得不断的游走面试。

        爬虫首先爬的还是一些比较重要有含金量的东西,否则网络上海量的数据都爬过去,相比他们就算拥有10个阿里云也承受不住。他们可能使用的某些热门的链接,热门的关键词,先通过现有的搜索引擎进行搜索。

headers

        搜索到链接以后,遍历进行url访问,type以HTML的形式获取HTML文档内容,然后进行内容存库,这样就在他们的服务器形成了一篇文章。

        所以我们在开发一个网页或者一个接口的时候,请求到服务端应该时候带有自己团队设定的headers请求头的,比如origin的设置,当服务端监测到origin不在白名单,是无法正常返回数据的。

        其实headers的内容,一旦爬手发现规律后,也是可以仿造的,但这也给爬手们增加了一定的难度

JS加密

        比如base64 MD5 hash DES等手段,我们与服务端传输过程中的数据是加密过的,而爬虫爬过去的数据很明显是杂乱的,没法使用的。

        我们都知道前端加密其实也并不太可靠,他需要与服务端形成一定的加密解密共识。而且前端目前还是必须要加载JS CSS文件进行页面渲染的,所以这种手段其实可以一定程度的抵抗爬重技术。

前端验证码

验证码都见过哪几种形式呢?4位扭曲的数字图片?还是需要滑动对应的图形,亦或是图片上显示着 X + Y = ? 然后让口算,还是12306上8张图片,让你选择哪杯是茅台?这些都无形中加大了作弊的难度,因为服务端必须要求有一个验证码的值,所以人都不知道哪杯是茅台,爬虫能知道?

人为八阿哥

做为资深程序员,谁每天还不写俩八阿哥,要不测试怎么吃饭,怎么会有那么多线上问题。而一旦这个页面被爬走,你的bug将不再只是你个人的bug,你的bug将赋能与他人,你的bug也会慢慢成长,万一能把它们的系统搞崩溃呢


http://www.niftyadmin.cn/n/4588.html

相关文章

Matlab:对函数调用结果进行索引

Matlab:对函数调用结果进行索引示例此主题说明如何对函数调用创建的临时变量进行点索引。当函数调用的结果被用作更大的表达式中的中间变量时,会创建临时变量。表达式中函数调用的结果是暂时性的,因为它创建的变量只短暂存在,并且…

Canal实现Mysql和ES数据同步

1.ES概述 ES全称为"ElasticSewrch", 是一个基于RESTful web接口, 并且构建在Apache Lucene之上的开源分布式搜索引擎。 ES可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。 简单来说, ES可以帮助我们快速完成海量…

Import Error: from torchtext.data import to_map_style_dataset解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

pycharm在使用from docx import Document时报错

pycharm在使用from docx import Document时报错 0、问题经过 本人在进行python操作docx文档学习时,遇到了一些问题,在学习中老师是直接引用的 我在pycharm中下载了Document库 执行时依旧失败 一直报错‘ModuleNotFoundError: No module named ‘except…

利用opencv 做一个疲劳检测系统(2)

文章目录杂谈实现步骤核心算法交互界面界面代码检测效果源代码杂谈 最近发现视力下降严重, 可能跟我的过度用眼有关,于是想着能不能做一个检测用眼疲劳的,灵感来自特斯拉的疲劳检测系统。 效果如下: 实现步骤 实现核心算法制作…

C语言实现三子棋小游戏(源码+教程)

我猜中了开头,却猜不到这结局。——《大话西游》 目录 1、设计框架 2、设计流程 2.1菜单 2.2初始化棋子 2.3初始化棋盘 2.4玩家输入落子的坐标 2.5电脑随机生成棋子 2.6判断输赢 2.7test.c源文件内容 3、两个生成随机数的函数 3.1rand(&…

你不知道并且没听说过的js原生网页共享接口

网页共享接口 这是什么? Web ShareAPI 也是最不为人所知的 API 之一,但非常有用。它允许您访问操作系统的本机共享机制,这对移动用户特别有用。使用此 API,您可以共享文本、链接和文件,而无需创建自己的共享机制或使用第三方机制。 使用案例 它们不言自明。您可以使用…

jquery动态生成html代码绑定事件

今天工作中需要在页面动态生成html代码,但发现新生成的代码的click事件失效了(非动态生成的代码已经绑定了click事件),于是在网上找了很多解决办法,很多都比较复杂,且使用的jquery都比较老,于是结合网上加上自己的测试,找到了一种解决方法。 我使用的jquery是1.9.11,jquery1.7之…