我用Python在网上复制文字的几种实用方法
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者:老肥码码码
如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!
平常学习或是工作需要,我们会想要复制网页上的文字内容,但是现在的网页非常不单纯,我简单列举几个我遇到的网页,当我看中了网页上的内容,想要复制其内容的时候,各种二维码,VIP的限制页面便会弹出,而这些无一例外地对我们充分利用网络资源形成了限制,造成了困扰。
那么如何解决这个问题呢,我还是使用Python来帮忙,你可能会提及爬虫,因为我们的应用场景是复制少量文字到自己的电脑上,没有必要大张旗鼓地写出爬虫,况且这些资源并非来源于同一网站,爬取难度也很难说得清楚。
我这有两种方法。其一,观察需要复制的网站的页面源代码,如果所需要复制内容的就在源代码之中,我们可以使用正则表达式将所需复制的内容完整地提取。
比如上面这样的情况,我们需要复制的内容就在源代码之中,其中夹杂了部分html的标签,这里使用反向的思维,我们不用正则提取所有汉字(我也尝试了一下,但效果不佳),而是使用正则将这些标签去除。
pattern=re.compile(‘<(.*?)>‘) a=re.sub(pattern,‘‘,string)
可见所有需要复制的内容已经舒服地躺在剪切板上了,任我们鱼肉。
但在一部分网页上,我们想要复制地内容不存在于网页源代码中,分析起来可能较为复杂。因而就有了方法二,将所需复制的内容部分截图,使用OCR将图片中的所有文字识别出来。
比如我们想复制上面这部分文字,直接使用tesserocr是否可行呢?当然可行,只是我们需要额外下载中文的语言包,在代码中作一些小小的改变。
image=Image.open(img) result=tesserocr.image_to_text(image,lang=‘chi_sim‘)
同样可以得到不错的效果,这两种方法都只使用了极其少量的代码,就解决了在网页上复制文字的困境,希望对大家有些许帮助~