2401_88505266 2024-11-22 21:30 采纳率: 57.1%
浏览 4
已结题

我代理给的是字典但是bug说不是字典

img

在python中爬取图片被反爬了,但是我给了代理又报错说我代理给的不是字典

  • 写回答

2条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从您提供的错误信息来看,报错提示是:“proxies must be a mapping”,这意味着在创建 urllib.request.ProxyHandler 时提供的 proxies 参数必须是一个字典。从您的代码中,我注意到在定义 proxies 的地方并没有明确的定义成一个字典。所以这个问题是由于您提供给 ProxyHandlerproxies 参数格式不正确导致的。

    为了解决这个问题,您需要确保 proxies 是一个字典,并且包含正确的代理服务器地址和端口。以下是一个简单的示例,展示了如何正确地定义和使用代理:

    import urllib.request
    
    # 确保 proxies 是一个字典,包含正确的代理服务器地址和端口
    proxies = {
        'http': 'http://代理服务器地址:端口',  # 如果是 http 代理
        'https': 'https://代理服务器地址:端口'  # 如果是 https 代理
    }
    
    # 创建 ProxyHandler 对象
    handler = urllib.request.ProxyHandler(proxies)
    
    # 创建 opener 对象并使用它
    opener = urllib.request.build_opener(handler)
    urllib.request.install_opener(opener)  # 使用这个opener进行所有的请求
    
    # 然后您可以使用普通的 url 请求函数(如 urllib.request.urlopen 等)来发起请求,此时会自动使用代理。
    

    请检查您的代码中的 proxies 定义部分,确保它是一个字典,并且包含正确的代理服务器地址和端口。如果您正在使用第三方库或模块来管理代理,请确保该库或模块正确地使用了 ProxyHandler 并传递了正确的参数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月22日