python-3.x - 尝试从 Netflix 下载图像时出现请求错误
问题描述
好的,我是 python 新手,我打算学习一点关于网络抓取的知识,这对我来说更难,因为我对 Web、JS、HTML 等一无所知。我的想法是下载一些可用的图像Netflix目录。这甚至适用于前 5 或 6 张图像
import requests, os
from bs4 import BeautifulSoup
url = "https://www.netflix.com/br/browse/genre/839338"
page = requests.get(url)
page.raise_for_status()
soup = BeautifulSoup(page.text)
img_element_list= soup.select('a img')
print(f'Images avalaible (?) : {len(img_element_list)} ')
quantity = int(input('How many images: '))
for c in range(quantity):
name = img_element_list[c].get('alt')
print('Downloading ' + name + ' image...')
img_response= img_element_list[c].get('src')
print('SCR: ' + img_response + '\n\n')
img = requests.get(img_response)
file = os.path.join('Images', name)
img_file = open(file+'.jpg', 'wb')
for chunk in img.iter_content(100000):
img_file.write(chunk)
img_file.close()
但最后在第四或第五张图片被下载后,后续图片的 scr 会变成这样 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAAAAAAEAAAICTAEAOw==' 然后它会引发这个错误:
Traceback (most recent call last):
File "C:\Users\1513 IRON\PycharmProjects\DownloadNetflixImg.py", line 20, in <module>
img = requests.get(img_response)
File "C:\Users\1513 IRON\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\1513 IRON\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\1513 IRON\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\1513 IRON\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 640, in send
adapter = self.get_adapter(url=request.url)
File "C:\Users\1513 IRON\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 731, in get_adapter
raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='
解决方案
推荐阅读
- google-cloud-platform - 从不同项目的机器映像创建实例时如何保留用户授权密钥文件
- arrays - 使用接口在非空数组(切片)中查找另一个“特殊”数组
- angular - 保存模板文件时出现编译错误,当我保存不同的模板时该文件消失
- linux - 加载共享库时出错:libicui18n.so.66:无法打开共享对象文件:没有这样的文件或目录
- accessibility-insights - Accessibility Insights 仅允许我在边缘而不是 Word(或我选择的其他应用程序)中检查元素
- ssis - 如何根据条件跳过任务或容器的执行?
- python - 为什么 python {:016X} .format() 说明符在 Brython 中不允许大于 2**52 的大小?
- if-statement - 在没有 if 语句的情况下做出决定
- flutter - Flutter Downgrade from Version 2.0.0(版本解决失败)
- pyspark - 如何将用户名/密码传递给 Spark 作业,而不显示在 sparkUI SQL 选项卡中?