介绍
文章开头有学习爬虫的视频,此文章主要介绍我在学习使用request时可能发生的部分问题。
1.爬取部分网站时会出现错误
例如出现以下错误
url ="https://www.baidu.com/"
header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"}
res =requests.get(url,headers=header)
requests.exceptions.SSLError: HTTPSConnectionPool(host=‘www.baidu.com’, port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(“bad handshake: Error([(‘SSL routines’, ‘tls_process_server_certificate’, ‘certificate verify failed’)],)”,),))
解决方法如下:
1、先检查是否已安装requests的依赖安装包:
pip install cryptography
pip install pyOpenSSL
pip install certifi
2、如果已经安装依赖安装包,还会报错,则在请求后面加上verify=False就可以
修改后
url ="https://www.baidu.com/"
header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"}
res =requests.get(url,headers=header,verify=Flase)
2.进行反反爬虫时出现的错误
错误如下
requests.exceptions.InvalidHeader: Invalid return character or leading space in header: User-Agent
这说明我们再复制User-Agent由于User-Agent种有一些空格我们没有去掉。
解决方案
去掉User-Agent中的空格。