python——爬取网页时response.status_code为418

问题:

response.status_code为418

问题描述:

当我使用Python的requests爬取网页时response和soup都是None,检查后发现response.status_code为418

错误描述:

经过网上查询得知,418的意思是被网站的反爬程序返回的,网上解释为,418 I’m a teapot
The HTTP 418 I’m a teapot client error response code indicates that the server refuses to brew coffee because it is a teapot. This error is a reference to Hyper Text Coffee Pot Control Protocol which was an April Fools’ joke in 1998.

翻译为:HTTP 418 I’m a teapot客户端错误响应代码表示服务器拒绝煮咖啡,因为它是一个茶壶。这个错误是对1998年愚人节玩笑的超文本咖啡壶控制协议的引用。

解决办法:

当时用了requests库,没有添加请求头等信息,可能被反爬程序识别了,再次请求添加了header的User-Agent信息就可以了。

代码

import requests

headers={'User-Agent': '替换成自己电脑中的User-Agent信息'}

res = requests.get(url,headers=headers)

参考了python爬取网页时返回http状态码HTTP Error 418

你可能感兴趣的:(python遇到的坑)