当前位置: 帮助中心 > 最新资讯 > 爬虫遇到403 Forbidden怎么办?可以使用代理ip来解决
爬虫遇到403 Forbidden怎么办?可以使用代理ip来解决
时间:2021-10-23 17:20:48 来源:兔子IP

大数据时代来临,数据采集推动着数据分析,数据分析推动发展,由此网络爬虫风靡一时。但在网络爬虫运行的过程中会遇到很多问题,如爬取速度、IP被封、爬取受限等等,举个简单的例子,当爬取数据爬的正起劲时,突然蹦出403 Forbidden,可谓十分闹心。


爬虫遇到403 Forbidden怎么办?


出现问题不可避免,但我们也不要心慌不要急,关键是要找出原因,然后解决问题,比如403 Forbidden,这个错误的原因就有好几种。



一、直接原因


1、你的IP被列入黑名单。


2、你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了。


3、网站域名解析到了空间,但空间未绑定此域名。


4、你的网页脚本文件在当前目录下没有执行权限。


5、在不允许写/创建文件的目录中执行了创建/写文件操作。


6、以http方式访问需要ssl连接的网址。


7、浏览器不支持SSL 128时访问SSL 128的连接。


8、在身份验证的过程中输入了错误的密码。


9、DNS解析错误,手动更改DNS服务器地址。


10、连接的用户过多,可以过后再试。


11、服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽。



二、逻辑原因


403 Forbidden是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden。


找出了403 forbidden是由什么原因造成的,那么解决403 forbidden错误的方法就可以对症下药了。



1、重建dns缓存


对于一些常规的403 forbidden错误,马海祥建议大家首先要尝试的就是重建dns缓存,在运行中输入cmd,然后输入ipconfig /flushdns即可。如果不行的话,就需要在hosts文件里把主页解析一下了。


同时,查看是否在网站虚拟目录中添加默认文档,一般默认文档为:index.html;index.asp;index.php;index.jsp;default.htm;default.asp等,



2、修改文件夹安全属性


用以下命令修改文件夹安全属性


chcon -R -t httpd_user_content_t public_html/


所用命令解析:


ls -Z -d public_html/


#显示文件/目录的安全语境-Z, –context


Display security context so it fits on most displays. Displays only mode, user, group, security context and file name.-d, –directory


list directory entries instead of contents, and do not dereference symbolic links


chcon -R -t httpd_user_content_t public_html/


#修改文件/目录的安全语境-R, –recursive


change files and directories recursively-t, –type


set type TYPE in the target security context



3、关于apache导致的403 forbidden错误的解决办法


打开apache的配置文件httpd.conf,找到这段代码:


Options FollowSymLinks


AllowOverride None


Order deny,allow


Deny from all


有时候由于配置了php后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决。


Options FollowSymLinks


AllowOverride None


Order deny,allow


Allow from all


之所以会出现错误,是因为大多数的国外主机在配置Apache的时候启用了mod_security,也就是开启了安全检查,如果提交的信息中包含select , % , bin等关键字,Apache就会禁止,并给出403,404,500等错误。


4、使用优质的代理IP也是能够有效的避免遭遇403 Forbidden的重要手段,兔子IP代理平台可以提供海量的IP资源,高效稳定,有效率高,性价比高,值得拥有。