【爬虫学习笔记day28】3.6. 处理一些格式规范的文字+格式规范文字的理想示例+通过Python代码实现+对图片进行阈值过滤和降噪处理(了解即可)+从网站图片中抓取文字

news/2024/5/13 6:57:59/文章来源:https://vicky.blog.csdn.net/article/details/104111161

文章目录

  • 3.6. 处理一些格式规范的文字
    • 处理给规范的文字
      • 格式规范文字的理想示例
      • 通过Python代码实现
      • 对图片进行阈值过滤和降噪处理(了解即可)
    • 从网站图片中抓取文字

3.6. 处理一些格式规范的文字

在这里插入图片描述

处理给规范的文字

处理的大多数文字最好都是比较干净、格式规范的。格式规范的文字通常可以满足一些需求,通常格式规范的文字具有以下特点:

  • 使用一个标准字体(不包含手写体、草书,或者十分“花哨的”字体)
  • 即使被复印或拍照,字体还是很清晰,没有多余的痕迹或污点
  • 排列整齐,没有歪歪斜斜的字
  • 没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘

文字的一些格式问题在图片预处理时可以进行解决。例如,可以把图片转换成灰度图,调整亮度和对比度,还可以根据需要进行裁剪和旋转(详情需要了解图像与信号处理)等。

格式规范文字的理想示例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDYM31Tp-1580309274455)(../images/tesseracttest.jpg)]

通过下面的命令运行 Tesseract,读取文件并把结果写到一个文本文件中: tesseract test.jpg text

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D5Mytpcv-1580309274456)(../images/tesseract_test.png)]

cat text.txt 即可显示结果。

识别结果很准确,不过符号^*分别被表示成了双引号和单引号。大体上可以让你很舒服地阅读。

通过Python代码实现

import pytesseract
from PIL import Imageimage = Image.open('test.jpg')
text = pytesseract.image_to_string(image)
print text

运行结果:

This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()

对图片进行阈值过滤和降噪处理(了解即可)

很多时候我们在网上会看到这样的图片:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-luPguXX0-1580309274457)(…/images/tess2.jpg)]

Tesseract 不能完整处理这个图片,主要是因为图片背景色是渐变的,最终结果是这样:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUlaRK3a-1580309274457)(../images/tesseracttesst.png)]

随着背景色从左到右不断加深,文字变得越来越难以识别,Tesseract 识别出的 每一行的最后几个字符都是错的。

遇到这类问题,可以先用 Python 脚本对图片进行清理。利用 PIL 库,我们可以创建一个阈值过滤器来去掉渐变的背景色,只把文字留下来,从而让图片更加清晰,便于 Tesseract 读取:

from PIL import Image
import subprocessdef cleanFile(filePath, newFilePath):image = Image.open(filePath)# 对图片进行阈值过滤(低于143的置为黑色,否则为白色)image = image.point(lambda x: 0 if x < 143 else 255)# 重新保存图片image.save(newFilePath)# 调用系统的tesseract命令对图片进行OCR识别     subprocess.call(["tesseract", newFilePath, "output"])# 打开文件读取结果with open("output.txt", 'r') as f:print(f.read())if __name__ == "__main__":cleanFile("text2.png", "text2clean.png")

通过一个阈值对前面的“模糊”图片进行过滤的结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ywYNvEG-1580309274458)(../images/tess2clean.png)]

除了一些标点符号不太清晰或丢失了,大部分文字都被读出来了。Tesseract 给出了最好的 结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GwLUOd6H-1580309274459)(../images/tesseracttest3.png)]

从网站图片中抓取文字

用 Tesseract 读取硬盘里图片上的文字,可能不怎么令人兴奋,但当我们把它和网络爬虫组合使用时,就能成为一个强大的工具。

网站上的图片可能并不是故意把文字做得很花哨 (就像餐馆菜单的 JPG 图片上的艺术字),但它们上面的文字对网络爬虫来说就是隐藏起来 了,举个例子:

  • 虽然亚马逊的 robots.txt 文件允许抓取网站的产品页面,但是图书的预览页通常不让网络机 器人采集。
  • 图书的预览页是通过用户触发 Ajax 脚本进行加载的,预览图片隐藏在 div 节点 下面;其实,普通的访问者会觉得它们看起来更像是一个 Flash 动画,而不是一个图片文 件。当然,即使我们能获得图片,要把它们读成文字也没那么简单。
  • 下面的程序就解决了这个问题:首先导航到托尔斯泰的《战争与和平》的大字号印刷版 1, 打开阅读器,收集图片的 URL 链接,然后下载图片,识别图片,最后打印每个图片的文 字。因为这个程序很复杂,利用了前面几章的多个程序片段,所以我增加了一些注释以让 每段代码的目的更加清晰:
import time
from urllib.request import urlretrieve
import subprocess
from selenium import webdriver
#创建新的Selenium driver
driver = webdriver.PhantomJS()# 用Selenium试试Firefox浏览器:
# driver = webdriver.Firefox()driver.get("http://www.amazon.com/War-Peace-Leo-Nikolayevich-Tolstoy/dp/1427030200")
# 单击图书预览按钮 driver.find_element_by_id("sitbLogoImg").click() imageList = set()
# 等待页面加载完成
time.sleep(5)
# 当向右箭头可以点击时,开始翻页
while "pointer" in driver.find_element_by_id("sitbReaderRightPageTurner").get_attribute("style"):driver.find_element_by_id("sitbReaderRightPageTurner").click()time.sleep(2)# 获取已加载的新页面(一次可以加载多个页面,但是重复的页面不能加载到集合中)pages = driver.find_elements_by_xpath("//div[@class='pageImage']/div/img")for page in pages:image = page.get_attribute("src")imageList.add(image)
driver.quit()# 用Tesseract处理我们收集的图片URL链接
for image in sorted(imageList):# 保存图片urlretrieve(image, "page.jpg")p = subprocess.Popen(["tesseract", "page.jpg", "page"], stdout=subprocess.PIPE,stderr=subprocess.PIPE)f = open("page.txt", "r")p.wait() print(f.read())

和我们前面使用 Tesseract 读取的效果一样,这个程序也会完美地打印书中很多长长的段落,第六页的预览如下所示:

6"A word of friendly advice, moncher. Be off as soon as you can,that's all I have to tell you. Happyhe who has ears to hear. Good-by,my dear fellow. Oh, by the by!" heshouted through the doorway afterPierre, "is it true that the countesshas fallen into the clutches of theholy fathers of the Society of je-sus?"Pierre did not answer and left Ros-topchin's room more sullen and an-gry than he had ever before shownhimself.

但是当文字出现在彩色封面上时,结果就不那么完美了:

   WEI' nrrd PeaceLen Nlkelayevldu IolfluyReadmg shmdd be axwlnvame asnossxble Wenfleran mm m our cram: Llhvary- Leo Tmsloy was a Russian rwovelwstI and moval phflmopher med lurA ms Ideas 01 nonviolenx reswslance m 5 We range     0, "and"

如果想把文字加工成普通人可以看懂的效果,还需要花很多时间去处理。

比如,通过给 Tesseract 提供大量已知的文字与图片映射集,经过训练 Tesseract 就可以“学会”识别同一种字体,而且可以达到极高的精确率和准确率,甚至可以忽略图片中文字的背景色和相对位置等问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_738523.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

监控器材律师网站制作_盈信动态 | 制作法律检索报告,律师的必备技能!

为统一法律适用&#xff0c;提升司法公信力&#xff0c;最高人民法院发布《关于统一法律适用加强类案检索的指导意见》&#xff0c;该意见自2020年7月31日起试行。法律检索技能可以帮助律师快速定位关键信息&#xff0c;运用得当&#xff0c;更可促成法律服务成交&#xff0c;提…

vue 同一个域名移动端pc端两套代码跳转_移动端SEO优化与PC端SEO优化的不同点

随着移动互联网的快速发展&#xff0c;用户从PC端向移动端迁移的大趋势更加明显&#xff0c;但这也使得移动手机网站的SEO优化工作还处于探索阶段&#xff0c;很多SEO和站长也都有了一些疑问&#xff0c;移动端需要做SEO优化吗&#xff1f;移动端该怎么做SEO优化&#xff1f;我…

“安利”一个CDN服务商网站

一、CDN简介 CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。CDN是构建在网络之上的内容分发网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户就近获取所需内容&#xff0c;降低…

产品必备技能(三):互联网数据分析师、产品经理和运营常用数据网站合集

文章目录中国互联网络消息中心百度指数阿里指数腾讯大数据友盟DCCI互联网数据中心艾瑞咨询TalkingData易观App StoreApp AnnieAPPDUU清源火眼ASO100IT桔子91助手今日报告网大数据导航中国互联网络消息中心 中国互联网络消息中心 中国互联网络消息中心&#xff08;China Intern…

启明星Portal企业内部网站V4.3版 附演示地址 http://demo.dotnetcms.org

下载地址&#xff1a;http://www.dotnetcms.org/download/portal/PortalV4.3.0.0.rar 启明星Portal系统是一款基于微软ASP.NET平台开发的&#xff0c;集成内容发布、文章、产品、图片、招聘、留言、自定义模型、采集等功能于一体的企业网站管理系统。启明星Portal是构建企业内网…

使用IIS部署网站步骤

安装和打开IIS&#xff08;以WIN8为例&#xff09; 一、打开&#xff1a;控制面板 二、点击&#xff1a;程序 三、点击&#xff1a;启用或关闭Windows功能 四、勾选全部&#xff1a;Internet Information Services 五、等待重启&#xff0c;重启完成后&#xff0c;开始栏菜单…

php robot.txt,WordPress网站SEO优化——Robot.txt文件编写

一、robots 介绍Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol)&#xff0c;网站通过 Robots 协议告诉来访网站的搜索引擎&#xff0c;此网站的哪些页面可以抓取&#xff0c;哪些页面不能抓取。robots.txt 是搜索引擎来访…

php代码分析工具,php性能优化分析工具XDebug 大型网站调试工具

大型网站调试工具之一(php性能优化分析工具XDebug) ,开发php的朋友可以参考下。有助于解决php代码的多种问题。一、安装配置1、下载PHP的XDebug扩展&#xff0c;网址&#xff1a;http://xdebug.org/2、在Linux下编译安装XDebug引用tar -xzf xdebug-2.0.0RC3.gzcd xdebug-2.0.0R…

dw怎么保存HTML手机可以看,【dw网页制作】如何使用Dreamweaver制作网页?如何用Dreamweaver制作个人虚拟网站?dreamweaver如何制作手机网站?...

【dw网页制作】如何使用Dreamweaver制作网页?如何用Dreamweaver制作个人虚拟网站?dreamweaver如何制作手机网站?下面就和小编一起来看看吧!如何使用Dreamweaver制作网页?1.建立新的ASP网页并保存2.连接数据库3.在网页中插入模板内容&#xff0c;添加各超链接4.页面设计后&a…

基于机器学习预测Lending Club网站贷款申请结果

前提简介&#xff1a;Lending Club是美国的一家贷款公司&#xff0c;自2007年以来&#xff0c;致力于将借款人和投资者聚集在一起&#xff0c;改变人们获得信贷的方式。在过去的十年中&#xff0c;帮助数百万人控制了他们的债务&#xff0c;发展了他们的小企业并为未来投资。本…

medusa测试网站弱口令简单示例

Medusa 百度百科&#xff1a;希腊神话中的女妖 Medusa(美杜莎)是一个速度快&#xff0c;支持大规模并行&#xff0c;模块化的爆力破解工具。可以同时对多个主机&#xff0c;用户或密码执行强力测试。 Medusa和hydra一样&#xff0c;同样属于在线密码破解工具。但官网着重说明了…

vue页面锚文本_「网站优化」网站优化宝典之描文本优化

相信大家看过我前两天写的网站优化中的标题优化和内容优化&#xff1b;肯定想知道除了标题优化和内容优化还可以优化什么&#xff1f;站内优化之描文本优化&#xff0c;真正好的文章内的描文本可以说是很多人写文章的目标&#xff0c;因为描文本对网站的抓取有一定的帮助。描文…

爱了!安利一个相见恨晚的可视化学习网站

最近日常逛逛技术平台&#xff0c;偶然间发现了一个非常牛逼的可视化学习网站。东哥之前在公众号和技术群里也推荐过一些&#xff0c;但和这个相比我觉得真是太逊色了。 好了&#xff0c;话不多说&#xff0c;我迫不及待地想分享下这个神器。 这个网站的名字叫 图之典&#x…

从机械转行数据科学,吐血整理了这些白嫖的学习网站

作者&#xff1a;东哥起飞 Python数据科学 大家好&#xff0c;我是东哥。 前方高能&#xff0c;准备开启收藏夹吃灰模式。 本篇东哥分享几个数据科学入门的学习网站&#xff0c;全部免费资源&#xff0c;且内容优质&#xff0c;是小白入门的不二选择。东哥当年从机械转行也从…

Python最简洁生成网站二维码的代码

学术网站BalMind的二维码1、共建纯学术网站BalMind2、代码如下&#xff1a;生成BalMind网站二维码 同步佐佑思维公众号二维码如下&#xff1a;1、共建纯学术网站BalMind 2、代码如下&#xff1a;生成BalMind网站二维码 import qrcode qrqrcode.QRCode(version6, #二维码的尺寸…

论文阅读及文献综述 AI辅助网站

目录Web1: 总结文献要点1.1. What this paper is about&#xff1f;1.2. What you can learn&#xff1f;Web2: 文献综述2.1. Related Work2.2. Summary of the Related WorkWeb1: 总结文献要点 https://www.paper-digest.com/ 举例&#xff1a;Robot education peers in a sit…

最大的脚本网站_2020年网站速度优化全面指南

网站速度对于网站而言非常重要&#xff0c;以至于搜索引擎使其成为实际的排名因素。如果您想改善网站速度&#xff0c;第一步就需要对网站进行检测&#xff0c;了解影响您网站速度的因素。其实很多工具都可以为开发人员和网站管理员提供网站速度检测。这里我们推荐的检测工具是…

设计电子商务网站建设方案_涨知识|网站建设方案的设计思路解析

在网站设计方案中关于网站首页的设计思路和解决方案是最重要的&#xff0c;因为用户来到网站后看到的第一个页面基本上都是首页&#xff0c;也是企业网站所有信息的聚集地。所以网站首页大部分情况下决定着用户对网站产生第一印象&#xff0c;是整个网站的门户页面。一、网站开…

百度竞价排名点击软件_百度竞价排名和自然排名,SEO和SEM你都分清楚了吗?

在信息爆炸的互联网时代&#xff0c;如何通过百度帮助您找到您需要的信息&#xff0c;以及如何确定信息的排名顺序?今天我们将整理出百度搜索排名方法&#xff0c;希望给你一些有用的参考。有两种方法:百度竞价排名和自然排名一、竞价排名&#xff08;SEM&#xff09;竞价排名…

移动互联网站之html5单页面设计,html5 移动端单页面布局

移动端的web网页使用的是响应式设计&#xff0c;但一般我们看到的网站页面都是跳转刷新得到的&#xff0c;比如通过点击一个menu后进入到另一个页面今天来说下是移动端的单页面的布局。单页面就是一切操作和布局都是在一个页面下进行 不需要页面跳转 &#xff0c;再通俗的说就是…