我正在从Google上进行图片爬取。我在我的脚本中得到了图片链接,但是它的格式如下:
我打开了图片,但是我无法使用urllib.urlretrieve(imagenurl,imagen)进行下载。
有人知道其他下载方法吗? 我正在使用Python 2.7。
import requests
from bs4 import BeautifulSoup
import urllib
def run():
palabra ='pez'
response = requests.get('https://www.google.com/search?q={}&hl=es&sxsrf=ALeKk00KoMQKffGLNWV5UEKbuPwpySPuig:1596391733831&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiajd7Rjv3qAhXqTN8KHSINBkcQ_AUoAXoECBoQAw&biw=1262&bih=593'.format(palabra))
soup = BeautifulSoup(response.content,'html.parser')
imagenes = soup.find_all('img')
for i in range(1,5):
imagen_i = imagenes[i]['src']
imagen = imagen_i.split('/')[-1]
print(imagen_i)
#urllib.urlretrieve(imagen_i)
if __name__ == '__main__':
run()
urlretrieve
?是因为出现了错误吗?请将错误信息放在问题中。 - furasurlretrieve
下载它没有问题,但你应该检查print(imagen)
来查看你使用的文件名。它给出的文件名类似于images?q=tbn:ANd9GcQh6rPd9hx_fUGzorshx1fG5kzUM5FGCSYmm2YBuLU3uSFFI5BviIWd6hrHbw&s
,其中可能包含系统不允许的字符,因此可能无法保存。你应该手动创建文件名,例如1.jpg
,2.jpg
,..."{}.jpg".format(i)
。 - furas