我目前正在学习fast.ai网站上的机器学习课程。该课程以视频形式呈现,并与Kaggle上的一个Jupyter笔记本(https://www.kaggle.com/code/jhoward/is-it-a-bird-creating-a-model-from-your-own-data)相关联。然而,当我尝试运行第11个单元格时,即包含以下代码的单元格:
#NB: `search_images` depends on duckduckgo.com, which doesn't always return correct responses.# If you get a JSON error, just try running it again (it may take a couple of tries).urls = search_images('bird photos', max_images=1)urls[0]
我得到了以下错误:
HTTPError Traceback (most recent call last)/tmp/ipykernel_17/2432147335.py in <module> 1 #NB: `search_images` depends on duckduckgo.com, which doesn't always return correct responses. 2 # If you get a JSON error, just try running it again (it may take a couple of tries).----> 3 urls = search_images('bird photos', max_images=1) 4 urls[0]/tmp/ipykernel_17/3153793264.py in search_images(term, max_images) 4 def search_images(term, max_images=30): 5 print(f"Searching for '{term}'")----> 6 return ddg_images(term, max_results=max_images).itemgot('image')/opt/conda/lib/python3.7/site-packages/duckduckgo_search/compat.py in ddg_images(keywords, region, safesearch, time, size, color, type_image, layout, license_image, max_results, page, output, download) 80 type_image=type_image, 81 layout=layout,---> 82 license_image=license_image, 83 ): 84 results.append(r)/opt/conda/lib/python3.7/site-packages/duckduckgo_search/duckduckgo_search.py in images(self, keywords, region, safesearch, timelimit, size, color, type_image, layout, license_image) 403 assert keywords, "keywords is mandatory" 404 --> 405 vqd = self._get_vqd(keywords) 406 assert vqd, "error in getting vqd" 407 /opt/conda/lib/python3.7/site-packages/duckduckgo_search/duckduckgo_search.py in _get_vqd(self, keywords) 93 def _get_vqd(self, keywords: str) -> Optional[str]: 94 """Get vqd value for a search query."""---> 95 resp = self._get_url("POST", "https://duckduckgo.com", data={"q": keywords}) 96 if resp: 97 for c1, c2 in (/opt/conda/lib/python3.7/site-packages/duckduckgo_search/duckduckgo_search.py in _get_url(self, method, url, **kwargs) 87 logger.warning(f"_get_url() {url} {type(ex).__name__} {ex}") 88 if i >= 2 or "418" in str(ex):---> 89 raise ex 90 sleep(3) 91 return None/opt/conda/lib/python3.7/site-packages/duckduckgo_search/duckduckgo_search.py in _get_url(self, method, url, **kwargs) 80 ) 81 if self._is_500_in_url(str(resp.url)) or resp.status_code == 202:---> 82 raise httpx._exceptions.HTTPError("") 83 resp.raise_for_status() 84 if resp.status_code == 200:HTTPError:
我已经成功运行了上面的所有单元格:我的Kaggle账户已通过验证,并且我已启用互联网。我怀疑duckduckgo.com网站可能出现了问题(因为抛出的错误位于一个if语句中,该语句在HTTP响应代码包含500时被验证):有没有办法让我检查这是否只是我遇到的问题,还是其他人也遇到了同样的问题?如果是的话,有人找到解决这个问题并完成课程第一课的方法了吗?
回答:
- 在网页的右侧,在“Notebook options”下,找到一个名为“ENVIRONMENT”的下拉菜单。
- 将其更改为“Always use latest environment”。
- 重新运行所有单元格(包括包含导入语句的单元格),看看错误是否仍然存在。