爬虫爬图片 403,header 头要传哪些参数,怎么绕防盗,今天试了好久,没有试出来
1条回答 默认 最新
关注
- 这有个类似的问题, 你可以参考下: 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等,需要具体问题具体分析,如果存在这类情况需要做相应的设置来规避反爬虫机制。
参考资料:
-
Python3网络爬虫:设置Headers避免403错误和IP封锁问题
-
python 爬虫遇到403怎么办?
-
Python爬取网页403错误解决方法
-
解决评论 打赏 举报无用 1
悬赏问题
- ¥15 求一个C# sm4 加密解密的代码
- ¥15 想做个网络加速器,怎么实现
- ¥20 centos7下载mysql提示DNS解析异常
- ¥20 vx转账功能对方不能领取
- ¥15 vue2+codemirror 运行后页面光标太大了
- ¥15 pdfjs库如何在前端实现打印、旋转等功能
- ¥15 combobox数据绑定问题
- ¥15 maven打包时,为什么有的依赖打不进去包
- ¥15 求复现机器学习文章一篇
- ¥15 爬虫抓取数据|解析视频文本内容(相关搜索:自动化)