如何解决python爬虫requests.get()遇到的418问题

如何解决python爬虫——遇到requests.get()访问得到418问题
在爬虫时候,通过requests.get()得到不正确的状态码:
4**:表示出错

403问题:服务器已经理解请求,但是拒绝执行它
418问题:网站的反爬程序返回的
其他HTTP状态码查找可以参考:
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin#4_19
当我们在爬虫时候遇到418问题:

解决方法:
补充上headers: 目的是模拟浏览器,欺骗服务器,获取和浏览器一致的内容
代码修改为:

import requests

url ='https://book.douban.com/tag/小说'

headers={'Referer': 'https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4',User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}

response=requests.get(url, headers=headers,timeout=3)
response
1
2
3
4
5
6
7
8
结果显示如下:

其中,headers怎么获取呢,打开你要爬取的网页,F12键——Network——Headers(Request Headers)下的内容copy过来就可以了

注意:
出现 ‘set’ object has no attribute ‘items’ 的问题
解决方法:
‘Referer’: ‘https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4’
冒号左右两边都要加单引号
参考网页:

1. requests的基本用法: https://www.jianshu.com/p/ec9451d960db

2. HTTP状态码查找:
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin#4_19
————————————————
版权声明:本文为CSDN博主「Rong~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43144769/article/details/105715728

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章