调用duckduckgo api时出现Http错误

问题描述 投票:0回答:1

我目前正在学习机器学习课程:来自 fast.ai 网站的课程。 该课程是一个视频,但它链接到 kaggle 上的 jupyter 笔记本(https://www.kaggle.com/code/jhoward/is-it-a-bird-creating-a-model-from-your-自己的数据)。然而,当我尝试运行 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 课的方法?

python api deep-learning artificial-intelligence
1个回答
0
投票
  1. 在网页右侧的“笔记本选项”下,找到 名为“环境”的下拉菜单。
  2. 将其更改为“始终使用最新环境”。
  3. 重新运行所有单元格(包括带有 import 语句的单元格)并查看错误是否仍然存在。
© www.soinside.com 2019 - 2024. All rights reserved.