使用get请求进行爬虫练习,有时会遇到Response 418错误,无法抓取页面源代码。

以万年常用的豆瓣电影top250为例,执行以下python代码:

url = "https://movie.douban.com/top250"
result = requests.get(url)
print(result)

打印出的返回值为:

<Response [418]>

主要是由于当前爬取的页面设置了反爬机制。

有解决方法吗?当然!我们带上请求头就可以!

浏览器访问上面的网址,使用F12进入开发者模式,在NetWork页滚动Headers部分,找到User-Agent:

爬虫入门(3)如何解决Response 418错误_爬虫

在代码中增加headers字典表,原样复制上面截图中的内容,然后将headers作为参数放入requests的get请求中:

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'}
url = "https://movie.douban.com/top250"
result = requests.get(url,headers=headers)
print(result.text)

打印一下效果,成功~

爬虫入门(3)如何解决Response 418错误_python_02