pixabay 反爬好厉害,浏览器能访问,复制所有 headers 用 curl 抓取,直接 403,好神奇!

这几天不能外出,在家闲来无事准备写爬虫练手,选了个 pixabay.com ,浏览器正常访问,复制浏览器 headers,用 curl 抓取页面内容:

$ch = curl_init('https://pixabay.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng;q=0.8,application/signed-exchange;v=b3",
    "Accept-Language:en-US,en;q=0.5",
    "User-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",
));
$a = curl_exec($ch);
curl_close($ch);
echo $a;

直接返回 cloudflare 的 403,这是用了什么神奇的技术?我浏览器都能正常访问证明 ip 没被 ban

为了进一步研究到底发送的什么headers,我打开了fiddler,再次刷新pixabay.com,也403了???!!!关闭fiddler,刷新pixabay.com,又正常了,这到底是是什么黑科技,都检测到我在抓包了???

阅读 6.5k
1 个回答

多加一个http头就好了

"Accept-Encoding: gzip, deflate, br" 

abc.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题