浅谈字体反爬虫的一些思路-黑客接单平台

访客5年前黑客资讯1043
反爬虫和爬虫之间的比赛现已争斗多年,不管是攻仍是守,现已继续N年,这是一个没有硝烟的战场,咱们都知道爬虫和反爬之家的道高一尺魔高一丈的联系。但这个计划能够很大程度上能够添加一般爬虫的收集本钱,在不运用OCR的前提下,算是比较极致的计划了。当然计划有很多种,层出不穷的各种 *** ,这儿介绍的时分反爬虫的中的一种比较有用的计划,字体反爬也便是自定义字体反爬经过调用自定义的ttf文件来烘托网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,经过仿制或许简略的收集是无法收集到编码后的文字内容!有必要经过程序去处理才干到达收集本钱。 作用展现! 0×1思路 细心的人会问,为什么不把一切的内容都替换成编码呢?这个就涉及到加载和烘托速度的问题。还有假如发动字体反爬虫,基本上现已离别SEO了,请细心考虑中心的凶猛联系,你懂得! 咱们知道,单纯汉字就有好几千个,还有各种字符,有的还包括各种外国人的字符串!假如悉数放到自定义字体库中的话,这个文件灰常大,几十兆是必定有的了,那结果啥样就很清楚了,加载必定很慢,更糟糕的是如此之多的字体需求浏览器去烘托,那作用,卡到爆!!! 为了处理这个问题,咱们能够挑选只烘托少数的、部分的文字,假定50个字,那么字体库就会小到几十K了,相当于一个小图片罢了,加上CDN加快之类的,处理了。详细 *** 上又N种 *** 参阅 *** 我会贴在下面! 如此简略?50个字儿呢可不是随意随意挑选的,要挑选那些爬虫收集不到就会很大改动整个句子的语义的词,直接点吧,也便是量词、否定词之类的。如原文“我有一头朱佩琪,我历来都不骑”,咱们把其间的“一”、“不”放到咱们的自定义字库中,这样一来,爬虫收集到的便是“我有头朱佩琪,我历来都骑”,嘿嘿,假如加上数字就更叼了,“缝隙版别 .. ???“ 是不是很鄙陋。 可是上述 *** 早已让 *** 各位大神破解一遍了,这可如何是好呢? *** 总是有的!假如让“叼”字的编码随机改变,但字体信息不变,浏览器烘托出来仍是“叼”字那不就完美了,所以,每个网页加载的时分,都随机加载了一套字体库,字体库的内容仍是50个字,但每个字的次序编码都是改变的,尽管咱们打乱了关键字的编码次序,可是每个字对应的字体信息是不变的,例如,“是”字一共有9划,每一笔划都有相应的x、y坐标信息,浏览器正是依据这些笔划信息烘托 假如吧,unicode编码和x,y坐标都骚做改动。他需求收集我的每一套字体库而且树立联系,这样添加的爬虫的本钱,乐滋滋。 0×3完成 根据微软雅黑字库信息,抽取其间的关键字的字体信息,生成ttf 后 运用下方代码 开端随机然后随机生成上千套字库,后文章显现时随机从文件或许裤中查询出一套字库,并把文章中的关键字替换成Unicode编码进行烘托! # encoding: utf-8 # -*-*- # By:连长 『zh (www.lianzhang.org)』 # -*-*- import random from fontTools import ttx from fontTools.ttLib import TTFont def random_unicode(lengths): # 随机生成Unicode字符集 while True: shuma = ((str(random.sample(random_list, int(lengths))).replace(''', '')).replace(',', '')). replace(' ', '').replace('[', '').replace(']', '') if shuma[0].isalpha(): return shuma else: continue def TTFontsXML(filenames): # 转化成XMl 到暂时目录 filenametemp = "temp/toolstemp.xml" font = TTFont(filenames) font.saveXML(filenametemp) return filenametemp def TTFonts(filenames): # 转化XML转化ttf try: print("开端转化字体!!!" + filenames) ttx.main([filenames]) print ("-----------------------------------") except Exception as e: print ("Something went wrong converting ttx -> ttf/otf:") print (e) exit() def Editfile(fontsjson, files): random_list = ["a", "v", "x", "s", "q", "w", "e", "r", "t", "y", "u", "i", "o", "z", "x", "c", "v", "b", "n", "m", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ][1][2][3]黑客接单网

相关文章

聊聊加密那点事:PHP 加密最佳实践

1. 加密的意图 加密不同于暗码,加密是一个动作或许进程,其意图便是将一段明文信息(人类或机器能够直接读懂的信息)变为一段看上去没有任何含义的字符,有必要经过事前约好的解密规矩才能将信息转换回有含义的...

黑客一般都在那里接单_怎么开宾馆

智能机器人是怎样打电话的或许你能够有一个无符号的Int16数组,它能够将其分化成16位,处理它就好像是处理一个无符号的整数。 以下是咱们的fuzzer protobuf标准的片段:2018年,勒索病毒...

泉港黑客接单_怎么找黑客找回网赌输的钱

向文件中增加如下内容: 该技能最早是于2018年10月6日由国外安全厂商Outflank的安全研讨人员初次揭露,并展现了运用Excel 4.0宏履行ShellCode的运用代码。 Excel 4.0宏...

黑客怎么接单赚钱吗_找黑客帮忙删对方微信照片聊天记录

1.4 其他歹意安排在JavaScript中,你的方法是运用名为web worker的东西。 这些web worker与你在其他言语中运用的线程略有不同。 默许状况下,它们不同享内存。 进一步对揭露陈...

批量Struts S2-045缝隙检测及使用

前语 S2-045长途代码履行缝隙的CNVD详细信息:http://www.cnvd.org.cn/flaw/show/CNVD-2019-02474缝隙刚出现时分,Google随意搜索相关URL(f...

技术培训网_黑客帮我找富婆-找黑客改学分靠谱吗

「技术培训网_黑客帮我找富婆-找黑客改学分靠谱吗」env.put(Context.PROVIDER_URL, 一、C&C分类(根据功用) 22    1.检测到了超越9万个网站受...