第十一章 从网站图片中抓取文字

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#这一节是数144页从网站图片抓取文字的代码,
#需要安装tesseract,它是开源的可以通过训练识别出字体的库
import time
from urllib.request import urlretrieve

from selenium import webdriver
#创建新的selenium drive

driver=webdriver.phantomjs(executable_path='D:/pycharm/phantomjs-2.1.1-windows/bin/phantomjs')
#用selenium试试firefox浏览器,运行有问题则删除下面这行代码
driver=webdriver.Firefox()

driver.get("http://www.amazon.com/War-Peace-Leo-Nikolayevich-Tolstoy/dp/1427030200")
time.sleep(2)

#单击图书预览按钮
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_element_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")
    #系统调用tesseract,由于没有安装,因此下面这行代码有错就先注释,在运行中需要安装加解注释
    #p=subprocess.Popen(["tesseract","page.jpg","page"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    #p.wait()
    f=open("page.txt","r")
    print(f.read())

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值