【爬虫Practice】学习过程中遇到的问题

本文列举了Python爬虫编程中遇到的一些典型错误,包括无法连接pypi、SSLError、UnicodeEncodeError、VSCode OUTPUT输入问题、脚本执行策略、伪造User-Agent、BeautifulSoup乱码、XMLSyntaxError、pycrypto安装失败、TypeError、CSV写入问题,并提供了相应的解决办法,如使用国内源、调整执行策略、处理编码问题、正确使用JSON等。

1. 无法连接至pypi开源网站

记录:起初无法通过pip install requests下载因为python的开源网站被墙了翻不过去,所以添加了一个安装包;

解决方法:也可以使用其他开源镜像网站,比如清华、阿里。

$ pip install pywinauto -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2. SSLError: wrong version number

报错信息:在写好爬虫脚本后就出现了以下

requests.exceptions.SSLError: HTTPSConnectionPool(host='www.sogou.com', port=443): Max retries exceeded with url: /web?querry=%E5%91%A8%E6%9D%B0%E4%BC%A6 (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1076)')))

解决方法

关闭代理服务器,在登录搜狗浏览器时,我是随机启动sidecar加速器。

❓TODO:服务代理器会对URL访问有什么影响?

3. UnicodeEncodeError

报错信息:输入一个页面带汉字的网址后,爬取页面显示打印处出错

UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 103672: illegal multibyte sequence

报错原因:

使用utf-8遇见中文时会出现乱码,应更改为gb18030.
1.UTF-8:即国际通用字符编码,该编码方式囊括了世界各个国家及地区使用的字符集,尤其是对于英文字母的表示方法仅占用一个字节,很好的支持了欧美等国家的需要。优点:为了统一世界上各种编码而设计,通用性强。缺点:为了兼顾世界所有语言的字符,必须采用多位给字符编号,例如中文字符采用3字节编码方式,而gb18030采用2字节。
2.gb18030:是新出的国家标准。这个标准由国家强制执行(也是为了保证中国信息业的地位,以及争取一定的主动权),所以所有在中国大陆销售的操作系统必须支持gb18030。现在的Gb18030不仅包含了简体和繁体汉字,支持中国少数名族文字,还包含了日韩等国的象形文字。优点:兼容性好,与以前的国标码都兼容。缺点:对英文字母需要2个字节的编码。

解决方法:

import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='gb18030')

4. VS Code OUTPUT里无法输入

解决方法:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值