from bs4 import BeautifulSoup
import urllib2
import urllib
import os
url=urllib.urlopen("https://www.google.co.in/search?q=cow&biw=1242&bih=606&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi21oLAqqzKAhXNjo4KHVs0DkgQ_AUIBigB")
soup=BeautifulSoup(url)
li=soup.find_all('a')
for links in li:
imgUrl=links.get('href')
sp1=imgUrl.split('imgurl=')[1]
sp2=sp1.split('&')[0]
urllib.urlretrieve(sp2)
Я пытаюсь загрузить все изображения с этой страницы. Ссылка, с которой я загружаюсь, является исходным кодом веб-страницы изображения Google. Он отлично работает, когда код выполняется отдельно для одного изображения, но для загрузки нескольких изображений с помощью find_all
он дает ошибку.Почему мой код возвращает IndexError: индекс индекса за пределами диапазона?
Перед тем, как задать вопрос, вам нужно немного отладить. Попробуйте распечатать то, что вы вернетесь из 'imgUrl.split ('imgurl =')', если это строка, которая терпит неудачу. Если строка сбоя является второй строкой, распечатайте результат 'sp1.split ('& amp')'. –