调用DuckDuckGo API时出现HTTP错误

我目前正在学习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时被验证):有没有办法让我检查这是否只是我遇到的问题,还是其他人也遇到了同样的问题?如果是的话,有人找到解决这个问题并完成课程第一课的方法了吗?


回答:

  1. 在网页的右侧,在“Notebook options”下,找到一个名为“ENVIRONMENT”的下拉菜单。
  2. 将其更改为“Always use latest environment”。
  3. 重新运行所有单元格(包括包含导入语句的单元格),看看错误是否仍然存在。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注