爬取数据时,HTTP ERROR 401解决办法

爬取数据时,HTTP ERROR 401解决办法

​ 在爬取网页数据时,遇到这样一个问题:

浏览器能可以浏览的网页,按F12后,打开network,找到数据所在的链接,双击(或者将header中的Request URL复制粘贴到浏览器地址栏),发现报了401的错误。

在这里插入图片描述

​ 这个问题的原因是网站做了反爬机制。有两种解决思路。

一、添加Authorization字段

​ 在爬虫代码请求URL时,在请求头header中添加Authorization字段,从浏览器中拷贝该字段的值。

在这里插入图片描述

在这里插入图片描述

​ 注意,该方法是临时的。当重新登陆时,Authorization会重置,这时需要再次拷贝该值到代码中。

二、JS逆向

​ 这种方法需要对该网页的js代码进行分析,找出产生密钥的token,并在代码中模拟生成这个token。由于这个过程稍微有些复杂,对于不同的网站,都需要一步步去做逆向。感兴趣的小伙伴可以深入了解下。

​ 这种方法不是临时的,重新登陆后仍然有效。


​ 综上,介绍了两种解决401问题的方法。如果只是临时爬一下数据,用第一种方法更简便。如果要多次爬取数据,采用js逆向方法来解决。

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值