字体解密

在这里插入图片描述
部分网站使用css提供的font-family技术,采用自定义库,使网页中的全部或者部分文字呈现乱码,混乱的方式称为字体加密

#传统的解密方式
科大讯飞
使用模拟的方式采用某些OCR(Optical Character Recognition,光学字符识别)技术将网页上的解密的结果识别成文字或者数字。

如何操作
1.安装tesseract-ocr
2.安装pytesseract
3.设置环境变量,将tesseract及tesseract用到的语音加入环境变量【windows设置(https://blog.csdn.net/qq_40147863/article/details/82285920)】,[lunux中(https://www.motobit.com/util/base64-decoder-encoder.asp)]

5.如何用代码实现
import pytesseract
from PIL import Image
from selenium import webdriver

browser = webdriver.Chrome(executable_path=’/cdrom/chromedriver’)
browser.get(‘http://piaofang.maoyan.com/?ver=normal’)

money_ele = browser.find_elements_by_css_selector(‘b > i.cs’)[0]
print(money_ele.screenshot(‘ticket.png’))
print(pytesseract.image_to_string(Image.open(‘ticket.png’)))
保存当前已经显示的网页的截图
browser.save_screenshot(“screen.png”)
计算需要截图的元素的位置
left = money_ele.location[‘x’]
top = money_ele.location[‘y’]
right = left + money_ele.location[‘width’]
bottom = top + money_ele.size[‘height’]
print(left,top,right,bottom)
使用PIL截图
img = Image.open(‘screen.png’)
crop函数按照左上右下拉出一个矩形进行截图
img = img.crop((left, top, right, bottom))
img.save(‘captcha.png’)

print(pytesseract.image_to_string(Image.open(‘n.png’)))
6.使用在线识别(打码)技术识别验证码
可以选用百度在线OCR技术[百度](https://cloud.baidu.com/doc/OCR/ocr-Python-SDK.HTML#.E6.8E.A5.E5.8F.A3.E8.83.BD.E5.8A.9B)

网页连接是https://www.motobit.com/util/base64-decoder-encoder.asp

猜你喜欢

转载自blog.csdn.net/weixin_44274975/article/details/88417761