python爬虫之requests

我只是一个虾纸丫 提交于 2020-03-09 15:13:18

python爬虫学习视频

介绍

文章开头有学习爬虫的视频,此文章主要介绍我在学习使用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中的空格。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!