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 pytesseract from 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的链接: