一开始的代码是
import requests
url = "https://movie.douban.com/top250"
r = requests.get(url)
r.status_code
显示的是418,这爬取失败;200才是爬取成功
这里我们先看一下我们的headers
r.request.headers
显示如下:
{'User-Agent': 'python-requests/2.25.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}
这里我的 user-agent 是 python-requests/2.25.1 ,所以很可能是被网站检测 headers 中 user-agent 后发现是不是浏览器的 user-agent 给拒绝了
所以我们可以改一下 user-agent
import requests
url = "https://movie.douban.com/top250"
kv = {'user-agent' : 'Mozilla/5.0'} #因为很多浏览器的user-agent都是Mozilla/5.0,所以就用它
r = requests.get(url,headers = kv)
r.status_code
改了之后显示 200,说明爬取成功