[PYTHON] Télécharger le logo Google → Texte avec OCR → Affichage sur HTML

Aperçu

Comme indiqué ci-dessous, le logo sur la page supérieure de la recherche Google est converti en texte et affiché sur HTML.

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

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

Exemple d'application

Vous pouvez utiliser cette méthode pour compiler des livres en anglais publiés sur Internet au format image en HTML et utiliser la fonction de traduction de page de Chrome pour les traduire en japonais pour les lire.

Étape d'exécution

  1. Supprimez la page d'accueil de Recherche Google pour obtenir l'URL de l'image du logo Google. De plus, téléchargez l'image.
  2. Appliquez l'OCR à l'image du logo pour en faire du texte.
  3. Affichez ce texte sur HTML.

Installez la bibliothèque à l'avance

bash


#Pour l'étape 1
pip install beautifulsoup4

#Pour l'étape 2
brew install tesseract
pip install pyocr

#Pour l'étape 3
pip install jinja2

Courir

** Étape 1: Téléchargez l'image du logo **

python


import requests
from bs4 import BeautifulSoup

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

#Extraire l'image
img = soup.find('img', {'id': 'hplogo'})

#Créer une URL pour l'image
img_url = 'https://www.google.com' + img['src']

#Télécharger l'image
r = requests.get(img_url)

#Enregistrer l'image
with open('hplogo.jpg' ,'wb') as file:
    file.write(r.content)

** Étape 2: Convertissez l'image du logo en texte avec OCR **

python


from PIL import Image
import pyocr
import pyocr.builders

#Préréglage 1
tools = pyocr.get_available_tools()
tool = tools[0]

#Préréglage 2
builder = pyocr.builders.TextBuilder()

#Charger l'image
img = Image.open('hplogo.jpg')

#Exécuter l'OCR
result = tool.image_to_string(img, builder=builder)

** Étape 3: Afficher le texte sur HTML **

python


from jinja2 import Template

#Générer une vue
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)

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

Lorsque vous ouvrez le hplogo.html généré dans votre navigateur, vous devriez voir le texte "Google" comme indiqué ci-dessous. (Republier l'image)

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

référence

Belle soupe en 10 minutes - Qiita Faisons du scraping d'images avec Python --Qiita Comment exécuter l'OCR avec Python | Gammasoft Co., Ltd. [Je veux générer du HTML en Python pour la première fois depuis un moment, alors vérifiez le modèle --Qiita.com/mima_ita/items/5405109b3b9e2db42332) (https://qiita.com/mima_ita/items/5405109b3b9e2db42332)

Recommended Posts

Télécharger le logo Google → Texte avec OCR → Affichage sur HTML
Convertir le HTML en fichier texte
Convertir .ipynb en .html (avec BatchFile)
Convertir 202003 en 2020-03 avec les pandas
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
[Ev3dev] Comment afficher une image bmp sur un écran LCD avec python
Comment gérer UnicodeDecodeError lors de l'exécution du téléchargement d'image Google
IME On / Off est affiché par LED en coopération avec Python et Arduino
Essayez d'afficher la carte google et la carte géographique avec python
J'ai essayé d'afficher l'interface graphique sur Mac avec le système X Window
Convertir un PDF en documents par OCR
[Rails] Comment afficher Google Map
Afficher plusieurs marqueurs sur Google Map
Convertir WMA en MP3 sur Mac
Standardiser le HTML à louer avec Django
convertir un graphique basé sur ggplot en html
Convertir la liste en DataFrame avec python
Convertir des phrases en vecteurs avec gensim
Convertir un PDF en image avec ImageMagick
Jouez avec Turtle sur Google Colab
[Rails] Comment calculer la latitude et la longitude avec une grande précision à l'aide de l'API Geocoding et l'afficher sur Google Map