[PYTHON] Google-Logo herunterladen → Text mit OCR → In HTML anzeigen

Überblick

Wie unten gezeigt, wird das Logo auf der oberen Seite der Google-Suche in Text konvertiert und in HTML angezeigt.

スクリーンショット 2020-04-02 午後8.25.59.png

スクリーンショット 2020-04-02 午後8.11.10.png

Anwendungsbeispiel

Mit dieser Methode können Sie im Internet veröffentlichte englische Bücher im Bildformat in HTML kompilieren und mithilfe der Seitenübersetzungsfunktion von Chrome zum Lesen ins Japanische übersetzen.

Ausführungsschritt

  1. Verschrotten Sie die oberste Seite von Google Search, um die URL des Google-Logo-Bilds abzurufen. Laden Sie außerdem das Bild herunter.
  2. Wenden Sie OCR auf das Logo an, um es als Text zu verwenden.
  3. Zeigen Sie diesen Text in HTML an.

Installieren Sie die Bibliothek im Voraus

bash


#Für Schritt 1
pip install beautifulsoup4

#Für Schritt 2
brew install tesseract
pip install pyocr

#Für Schritt 3
pip install jinja2

Lauf

** Schritt 1: Logo herunterladen **

python


import requests
from bs4 import BeautifulSoup

#Holen Sie sich HTML
url = 'https://www.google.com'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')

#Bild extrahieren
img = soup.find('img', {'id': 'hplogo'})

#URL für Bild erstellen
img_url = 'https://www.google.com' + img['src']

#Bild herunterladen
r = requests.get(img_url)

#Bild speichern
with open('hplogo.jpg' ,'wb') as file:
    file.write(r.content)

** Schritt 2: Konvertieren Sie das Logo-Bild mit OCR in Text **

python


from PIL import Image
import pyocr
import pyocr.builders

#Voreinstellung 1
tools = pyocr.get_available_tools()
tool = tools[0]

#Voreinstellung 2
builder = pyocr.builders.TextBuilder()

#Bild laden
img = Image.open('hplogo.jpg')

#Führen Sie OCR aus
result = tool.image_to_string(img, builder=builder)

** Schritt 3: Text in HTML anzeigen **

python


from jinja2 import Template

#Ansicht generieren
html = '''
<!DOCTYPE html>
<html lang="en">
<head>
    <title>The Farther Reaches Of Human Nature</title>
</head>
<body>

    <h1>{{ result }}</h1>

</body>
</html>
'''
template = Template(html)
data = { 'result': result }
view = template.render(data)

#sparen
with open('hplogo.html', 'w', encoding='utf-8') as f:
    f.write(view)

Wenn Sie die generierte hplogo.html in Ihrem Browser öffnen, sollte der Text "Google" wie unten gezeigt angezeigt werden. (Bild neu posten)

スクリーンショット 2020-04-02 午後8.11.10.png

Referenz

Schöne Suppe in 10 Minuten - Qiita Lassen Sie uns mit Python - Qiita Bilder kratzen Ausführen von OCR mit Python | Gammasoft Co., Ltd. Ich möchte zum ersten Mal seit einiger Zeit HTML in Python ausgeben. Überprüfen Sie daher die Vorlage --Qiita

Recommended Posts

Google-Logo herunterladen → Text mit OCR → In HTML anzeigen
Konvertieren Sie HTML in eine Textdatei
Konvertieren Sie .ipynb in .html (mit BatchFile)
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Konvertieren Sie eine Textdatei mit hexadezimalen Werten in eine Binärdatei
[Ev3dev] So zeigen Sie ein BMP-Bild mit Python auf dem LCD an
Umgang mit UnicodeDecodeError beim Ausführen des Downloads von Google-Bildern
IME On / Off wird in Zusammenarbeit mit Python und Arduino durch LED angezeigt
Versuchen Sie, Google Map und Geography Map mit Python anzuzeigen
Ich habe versucht, die GUI auf einem Mac mit X Window System anzuzeigen
[Rails] So zeigen Sie Google Map an
Zeigen Sie mehrere Markierungen auf Google Map an
Konvertieren Sie wma in mp3 auf dem Mac
Standardisieren Sie HTML, um mit Django gemietet zu werden
Konvertieren Sie ein ggplot-basiertes Diagramm in HTML
Konvertieren Sie die Liste mit Python in DataFrame
Konvertieren Sie Sätze mit gensim in Vektoren
Konvertieren Sie PDF in Image mit ImageMagick
Spielen Sie mit Turtle auf Google Colab
[Rails] So berechnen Sie Breiten- und Längengrade mit hoher Genauigkeit mithilfe der Geocoding-API und zeigen sie auf Google Map an