爬虫爬图片 403,header 头要传哪些参数,怎么绕防盗,今天试了好久,没有试出来
# 更换一个可以下载图片的网址
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爬虫下载图片时避免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错误解决方法