Python3爬虫时遇到的一些错误

前言

我们在用Python爬虫时总是会遇到各种错误,而Python2和Python3又有所不用,有时一个错误能耗费我们很多的时间,我最近遇到了几个错误就让我花费了一天的时间去解决,最后发现是一个很简单的错误,而有些错误网上找了也不一定能用,所以今天我就来说下我用Python3爬虫的时候遇到的一些问题和解决办法,希望能帮助到有需要的小伙伴们哦!


urllib.error.URLError:

解决方法:url或pat中的双引号和单引号不匹配原因或多了个http://之类的


urllib.error.URLError:

当你urllib.urlopen一个 https 的时候会验证一次 SSL 证书 ,当目标使用的是自签名的证书时就会爆出该错误消息。

解决方法:把https://改为http://或添加

import ssl

ssl._create_default_https_context = ssl._create_unverified_context


(unicode error) 'unicodeescape' codec can't decode bytes in position 54-58: truncated\uXXXX escape

解决办法:unicode中多了或少了


ModuleNotFoundError: No module named 'requests'

解决办法:在cmd中查看pip list有没有requests,没有就pip install requests安装


ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)

解决办法:使用https代理出错换为http的


urllib.error.URLError:

解决办法:IP被封了或者代理IP失效了,换个代理IP即可


(Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))

解决办法:加上一个参数:verify=证书路径,或verify=False 如:requests.get(url,verify=False,headers=headers)


lxml.etree.XPathEvalError: Unfinished literal

解决办法:xpath中语句有错


No connection adapters were found” for

解决办法:多了http://或少了


InsecureRequestWarning警告

解决办法:

添加from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)


HTTP Error 405: Not Allowed

解决办法:添加一个模拟浏览器代码


UnicodeEncodeError: 'utf-8' codec can't encode characters in position 23-24: surrogates not allowed

解决办法:encoding = 'utf-8', errors='ignore'


builtins.ModuleNotFoundError: No module named 'win32api'

解决办法:安装pywin32模块


scrapy框架:

ModuleNotFoundError:No module named 'bili.items'

解决办法:

要在命令行运行或者

创建一个新的.py文件写入

from scrapy import cmdline

cmdline.execute("scrapy crawl bilisp --nolog".split())

进行运行


INFO: Ignoring response <400 http://www.bilibili.com>: HTTP status code is not handled or not allowed

解决办法:添加一个模拟浏览器代码


好了今天就介绍到这里,目前只有这些,后面如果遇到新的错误,我会及时更新,谢谢

欢迎各位的关注和分享哦!

你可能感兴趣的:(Python3爬虫时遇到的一些错误)