201013-UnicodeDecodeError: 'gb2312' codec can't decode byte

今天写个python爬虫时,发现一个有意思的问题,因为不同的目标网站的编码可能并不一样,所以再进行文本解析时,直接使用response.charset返回的编码格式进行处理文本,结果出现了上面这个问题,解决方法也比较简单,改用gbk即可

1
2
3
4
5
6
7
8
9
10
fp = open(file, 'r', encoding='gb2312')
# 替换为
fp = open(file, 'r', encoding='gbk')

### http访问方式
if response.charset == 'gb2312':
code = 'gbk'
else:
code = response.charset
raw = await response.text(encoding=code)

200509-python3 Pip install ssl certificate问题

python3.7 通过pip进行安装时,提示ssl certificate问题

如下提示:

1
2
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

解决办法,用国内镜像源

1
pip install aiohttp -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

191121-Python 科学计数法误用引起的血案

记录一个代码中误用科学计数法导致所有的数据增大十倍的问题

科学计数法用e表示,后面跟上数字n,表示10的n次方;然后10^8用科学计算法怎么写?

正确写法

1
1e8  # 前面的1不能缺少

错误用法

1
10e8  # 这个实际上是10亿

190114-beautifulsoup4版本不一致导致解析问题

beautifulsoup4 这个用于解析html的包,不同版本的使用姿势问题,导致解析数据异常

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×