链接地址:aHR0cHM6Ly9jbHViLmF1dG9ob21lLmNvbS5jbi9iYnMvdGhyZWFkLzIyMTRiYWZhMDIyMGY4MGQvMTAxMTIzODE0LTEuaHRtbA==
打开网页后,需要获取文章的正文内容,如果使用常规的办法,获取到的是存在乱码的内容
可以看到有少许的文字出现乱码,然后在网页f12 查看
其网页中确实不是常规的文字,而是这个网站的自定义字体。如果直接忽略这个文字,肯定是不可行的,得想办法把图片变成文字。
在源代码中搜索【tff】可以找到字体文件的地址,下载这个字体文件下来
然后在网站 http://font.qqe2.com/index-en.html 中可以进行在线查看
那么尝试先使用python把ttf文件转换为一个一个的图像
在转换的时候需要注意,尽量把需要识别的内容放置在中间,并在在周边留有一定的空白,这样可以提高识别的准确率。
接下来就是要ocr来将图片转换为文字了,这里我是用的是ddddocr,安装相对来说很方便
pip install ddddocr
接着把每一张图片放到ddddocr这个模型去识别,就可以得到每一张图片的文字内容,最后得到一个文件名个文字的映射关系,是用方法也非常简单。
Oocr = ddddocr.DdddOcr() # 初始化识别模型
text = Oocr.classification(img_bytes=image_io) # 把图片的字节放到模型中,返回识别的文字
最后再请求一次,然后通过ocr识别得到的映射关系替换自定义字体
可以看到识别非常的准备,完美解决了字体反爬的问题