Response后面带有的状态码:
· 2开头表示访问正常
· 4开头,比如403表示爬虫被网站封锁
· 5开头表示服务器出问题
本篇文章主要讲当遇到返回值出现403解决方法:
例如:
import requests
url='http://www.dianping.com/shanghai/hotel/p1'
resp=requests.get(url)
resp
反爬方法:
requests.get(url,headers,cookies,params,proxies)
1.伪装请求头headers
2.加cookies
3.headers中加referer
4.使用代理IP,手机热点和付费代理,付费代理比如阿布云
5.限制访问速度time.sleeo(1)
1.伪装请求头headers
打开目标网站——F12进入开发者工具——Network——随便打开一个加载出的文件——找到Request Headers下的User-Agent:
并复制到代码的headers
中
改进后的爬虫:
import requests
url='http://www.dianping.com/shanghai/hotel/p1'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36'} //在开发者工具中寻找headers参数,并整理成字典格式
resp=requests.get(url,headers=headers)
resp
恢复正常值: