分享

我用Python在网上复制文字的几种实用方法

 西北望msm66g9f 2020-05-17

平常学习或是工作需要,我们会想要复制网页上的文字内容,但是现在的网页非常不单纯,我简单列举几个我遇到的网页,当我看中了网页上的内容,想要复制其内容的时候,各种二维码,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')

同样可以得到不错的效果,这两种方法都只使用了极其少量的代码,就解决了在网页上复制文字的困境,希望对大家有些许帮助~ 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多