#!/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())