py爬虫下截图片链接保存到本地的时候报403

爬虫爬图片 403,header 头要传哪些参数,怎么绕防盗,今天试了好久,没有试出来

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7677409
  • 你也可以参考下这篇文章:【python】自动生成一定数量的随机请求头header,对爬虫进行伪装
  • 除此之外, 这篇博客: 【Python爬虫】 爬取商品图片并下载中的 2. 请求数据(headers 的作用是将请求伪装成浏览器的请求,可以跳过简单的爬虫拦截) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • # 更换一个可以下载图片的网址
    url = "https://search.jd.com/Search?keyword=笔记本电脑&wq=笔记本电脑&page=%d&s=%d&click=0"%(page,size)
    headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"}
    
    resp = requests.get(url=url,headers=headers)
    content = etree.HTML(resp.text)
  • 您还可以看一下 阿尔法老师的Python爬虫开发入门课程中的 第五讲:发送带headers的请求小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    针对问题:如何在使用Python爬虫下载图片时避免403错误?

    如果在使用Python爬虫下载图片时遇到了403错误,可以考虑向请求头部添加用户代理信息和Referer信息来规避这个问题。

    其中,用户代理是指发送请求的客户端的应用程序类型、操作系统、软件开发商等,而Referer则是指请求来源,表明用户是从哪个URL链接过来的。

    具体来说,可以向请求头中添加如下信息:

    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0;Win64,x64) AppleWebKit/537.36(KHTML,like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299', 
        'Referer':'https://www.example.com/'
    }
    

    其中,User-Agent可以是任意一个主流浏览器的字符串,具体可以通过浏览器的开发者工具获取;而Referer则应该设置成目标网站的URL。

    这样设置请求头后,再发起图片下载请求,应该就能够避免403错误了。

    另外,还有一些反爬虫机制可能会检测请求头中的其他信息,比如Cookie、Accept等,需要具体问题具体分析,如果存在这类情况需要做相应的设置来规避反爬虫机制。

    参考资料:

    1. Python3网络爬虫:设置Headers避免403错误和IP封锁问题

    2. python 爬虫遇到403怎么办?

    3. Python爬取网页403错误解决方法