第十一章 從網站圖片中抓取文字
阿新 • • 發佈:2018-12-19
#!/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())