使用get请求进行爬虫练习,有时会遇到Response 418错误,无法抓取页面源代码。
以万年常用的豆瓣电影top250为例,执行以下python代码:
url = "https://movie.douban.com/top250"
result = requests.get(url)
print(result)
打印出的返回值为:
<Response [418]>
主要是由于当前爬取的页面设置了反爬机制。
有解决方法吗?当然!我们带上请求头就可以!
浏览器访问上面的网址,使用F12进入开发者模式,在NetWork页滚动Headers部分,找到User-Agent:
在代码中增加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)
打印一下效果,成功~