IndexError: list index out of range

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
samed06
User
Beiträge: 4
Registriert: Montag 6. Juli 2020, 09:48

Hi
Also ich bekomme diesen fehler: IndexError: list index out of range
und ich bin am ende ich habe vieles versucht aber es hat nichts gebracht deswegen frage ich euch jetzt um hilfe.

Code: Alles auswählen

import pytesseract
from PIL import Image

import urllib.request
import urllib.parse
import re

lang = 'tur+ger'

img = Image.open('1.jpg')

print(img)
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
result = pytesseract.image_to_string(img)
print(result)


query_string = urllib.parse.urlencode({"search_query" : result})
html_content = urllib.request.urlopen("http://www.youtube.com/results?" + query_string)
search_results = re.findall(r'href=\"\/watch\?v=(.{11})', html_content.read().decode())
print ("http://www.youtube.com/watch?v=" + search_results[0])
ich bedanke mich schonmal im voraus.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte den vollständigen Fehler zeigen, sonst muss man raten.
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Und wenn ich raten müsste: search_results hat keinen Inhalt, sprich der reguläre Ausdruck wird nicht fündig und search_results ist eine leere Liste.
Reguläre Ausdrücke zu benutzen um in HTML-Dokumenten etwas zu finden, sollte man nicht tun. Dafür bieten sich Parser wie BeatifulSoup an.
samed06
User
Beiträge: 4
Registriert: Montag 6. Juli 2020, 09:48

ups

Traceback (most recent call last):

File "C:/Users/samyp/PycharmProjects/youtube/ocr.py", line 21, in <module>

print ("http://www.youtube.com/watch?v=" + search_results[0])

IndexError: list index out of range
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Dann schau mal nach ob in search_results das drin ist was du erwartest. Trotzdem würde ich dir - wie sparrow auch - dazu raten bs4 zu nutzen, das erleichtert einiges.
samed06
User
Beiträge: 4
Registriert: Montag 6. Juli 2020, 09:48

gut dann werde ich noch einwenig dran arbeiten
habe ja genug zeit ;-)
und natürlich das bs4 dafür benutzen.
Antworten