Python爬取Instagram数据&Python将图片转化为文字

来源:互联网 发布:淘宝数码类 交易指数 编辑:程序博客网 时间:2024/04/30 19:44

PartⅠ: Instagram(以下称为Ins)指定用户的图片爬取

  Ins的图片没有办法像很多图片一样可以右键点击进行保存,很多时候是使用截屏的方式进行保存。不过在Python中,有对Ins数据进行抓取并保存的库,使用起来非常方便快捷。

       对Ins数据进行抓取的库为instagram-scraper,其下载地址为:https://pypi.python.org/pypi/instagram-scraper

    (当然啦,爬取Ins数据的前提是网络能够访问到Ins,Ins是属于Facebook的~So......)

     对于该库的安装,可以使用python自带的pip工具,安装命令如图所示(我已经安装,所以显示信息与安装过程不同):

安装成功后,可以通过命令行:

instagram-scraper stanford
(stanford可以用任何想要爬取的用户名代替)

       这样,爬取的图片会存储在一个新创建的文件夹中,新建的文件夹为打开命令行时所在的目录(一般通过win + R 输入【cmd】打开,默认的目录为C:\Users\用户名)

       详细的安装和爬取目录,可以在instagram-scraper这个项目的github地址上查阅:https://github.com/rarcega/instagram-scraper


Part Ⅱ: 使用python专用库——pytesseract将图片中的文字转化为可以进行复制粘贴的文本

       tesseract按照Quora上一个用户的回答(下图所示),有两种使用方式,一种呢,是作为应用直接进行使用;另外一种是作为Python的一个库(个人感觉这种方式会比较好,因为可以使用Python的图像处理,来对要提取的文本进行突出,这个提取文本的库,是有点烂,待会儿图片吐槽,有图有真相~)

       图片中,两个超链接为: tesseract-ocr ,pytesseract 0.1.6


pytesseract库的安装,也是使用python自带的pip工具,输入命令:

pip install pytesseract
安装完成后,可以直接导入pytesseract库,对图片进行识别,进行识别的代码如下:

#-*- coding:utf-8 -*-import pytesseractfrom PIL import Image# 使用pytesseract对英文进行识别print(pytesseract.image_to_string(Image.open('textEng.png')))# 使用pytesseract对中文进行识别print(pytesseract.image_to_string(Image.open('textCh.png'), lang='chi_sim'))# 使用pytesseract对中文和英文进行识别(使用的函数参数与上面相同,中文兼容英文)print(pytesseract.image_to_string(Image.open('textench.png'), lang='chi_sim'))
进行识别的图片为:

图1 英文图片

图2 中文图片


图3 中英混搭图片

识别的结果为:


背景还算干净整洁,不过识别的结果却不尽如人意,不过比人手动输入要快多了呢~~~~~

最后,附上pytesseract的链接:

https://pypi.python.org/pypi/pytesseract