python Fehler IndexError: list index out of range?
Hi
Also ich weiß das das vieleicht nicht der richtige ort ist aber ein versuch ist es ja werd.
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
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])
CODE
ich bedanke mich schonmal im voraus.
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
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])
mir ist schon bewusst das "Er nichts findet"
ich finde die lösung nicht um dass problem zu lösen.
4 Antworten
List Index out of range bedeutet einfach dass du in irgendeiner Liste ein Element aufrufen willst mit einem Index der entweder negativ oder zu groß ist und daher eigentlich nicht Teil der Liste ist.
Würde mal spontan auf search_results[0] tippen.
Sieht auch nicht so aus, als ob du das als Liste initialisierst davor sondern als was anderes.
Von daher hat das anscheinend keine Elemente, womit der Index 0 out of range ist.
Ich sehe auf die schnelle nur einen Listenzugriff - bei
print ("http://www.youtube.com/watch?v=" + search_results[0])
Wenn es dort Out of Range ist, wird es keinen Eintrag in search_results geben.
Sonst wirst du doch auch angezeigt bekommen, wo der Fehler auftritt
ich habe mich mal ein wenig mit python beschäftigt aber bin mehr so der java user allerdings frage ich mich ob ind dieser zeile
"search_results = re.findall(r'href=\"\/watch\?v=(.{11})',html_content.read().decode())"
hinter dem "re.findall(" das "r" hin muss
Kurz: Er findet nichts.
ja muss es leider.
sonst ploppen 10 weitere fehler auf.
aber danke für den versuch.