老废物乐园

Personal Website of Hisashi Egawa


Python2下request的编码

数不清是第几次在编码问题上浪费时间了,python2的utf-8编码问题真的让人崩溃。
一开始的代码:

import requests
r = requests.get('https://www.baidu.com')
print r.text

输出:

<head>
<meta http-equiv=content-type content=text/html;charset=utf-8>
<meta http-equiv=X-UA-Compatible content=IE=Edge>
<meta content=always name=referrer>
<link rel=stylesheet type=text/css href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css>
<title>ç™¾åº¦ä¸€ä¸‹ï¼Œä½ å°±çŸ¥é“</title></head> 

完全是乱码啊。

后来翻到关于python 爬虫爬取网页的乱码问题,发现是request用的编码应该是ISO-8859-1

import requests
r = requests.get('https://www.baidu.com')
r.encoding=('utf8')#把编码改成utf-8
print r.text

把编码改成utf-8,成功。

总结:

还是Python3好

最近的文章

十一月四日夜杂谈

甲午之战,不是日本必胜,而是清朝必败。从生产力的角度说,日本并没有比中国先进到哪里去。即使是军备上存在代际差距日本也不可能完全战胜中国。甲午之战日本胜中国败最碰巧的就是日本成功建立起了中央集权,而清朝的中央集权恰好因为太平天国战争大大削弱了。一个反面例子是万历朝鲜之战:一边是腐朽的中央集权大国,另一边是刚刚统一的封建小国,双方短时间内打成平手,但是即使丰臣秀吉不死打下去日本也必败。比起白村江之战,万里之战中日两国科技水平是比较接近的,即在同样的科技水平,封建制不可能打垮中央集权。黄海之战北...…

继续阅读
更早的文章

内藤湖南の論から考えること

https://blog.yiruka.moe/2018/10/読書ノート-内藤湖南-概括的唐宋時代観/昨晩、内藤湖南の「概括的唐宋時代観」を読んでしまった。  内藤の観点は今までも史学界にて討論されているから、中国の史学界に多大な影響を及ぼしたとも言えよう。唐代と宋代との違いが貴族政治と君主独裁(官僚政治)との違いにあるという点は一見に辻が合いそうだが、そうれを裏付けるため幾つ面においてデータを出すべきだと思う。  内藤の文章を読んでいた時におもしろいと思ってたけど信用性に対して疑問を抱...…

继续阅读