モードをデコードクロールWebコンテンツへのモジュールについて、今日言うことを要求
違いはresponse.textとresponse.contentです
まず第一には、コーディング、Webページ上のページを見つけるために取得するために登ります
Webページをコーディングすると、そのためのコードを書くために続けることができます
1.コンテンツの出力
print(response.content.decode('utf-8')) #decode('utf-8')的意思是以utf-8的编码的方式解码为Unicode
2.テキスト出力を使用して
response.encoding = 'utf-8' #为请求的网页指定该网页的编码方式,这样text输出的时候,就不会瞎猜编码方式,而解出乱七八糟的鬼
print(response.text)
参照コード(レスポンス上記参照コードに内部からのものです)
import requests
kw = {'wd':'巴基斯坦'}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
# params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
#这就是requests库的其中一个方便的地方
response = requests.get("http://www.baidu.com/s", params = kw, headers = headers)
# 查看响应内容,response.text 返回的是Unicode格式的数据
print(response.text)
# 查看响应内容,response.content返回的字节流数据
print(response.content)
# 查看完整url地址
print(response.url)
# 查看响应头部字符编码
print(response.encoding)
# 查看响应码
print(response.status_code)
いくつかは、私は、Webページのエンコーディングを表示し、印刷(response.encoding)を使用し、疑問を持ってこちらをご覧ください
その後、再びそれをデコードしませんか???なぜか???なぜか???(あなたは私の痙攣を得ることができないと言います)
回答:もちろんそれはハッハッハハッハッハOKである(これは大きな卵であるので、それをコードするページを取得する方法は2つあります)
しかし、時には、それは間違っている可能性があります。print(response.encoding)getで例クライミングBaiduのためにシングルバイトISO-8859-1エンコーディングです
しかし、私はシングルバイトコードは中国のああを表現することができないため、「UTF-8」エンコーディングは、その後、私はUTF-8デコーディングを使用することが決定キーを押しF12が実際に表示するためにBaiduのウェブサイトに行ってきました!
だから、時にはうまくいかない、あなたはこれらの2つの方法を試すことができます(私は白だったので、現在私が知っていることは、これら二人の友人です)
それらのすべては、愛の脳のギャルズです.....喜喜喜喜(いわゆる「のように」私を与えていないと言います?)
-------------------------------------------------- --------------------------------------------
もちろん、誰かが、あなたを聞いてきます。このコード壊す事は非常に理解していない、あなたはソートソート私を助けることができます
ハッハッハハッハッハ、私はいくつかのより多くの賞賛の賞賛の賛美賞賛を与えます
知識ビッグラン:
エンコード()とデコード()と平均差
英語デコード手段のデコード、エンコード英語の意味がコーディングされています
Pythonの文字列表現は、内部でユニコード符号化トランスコーディングを行う場合、典型的にはユニコードのために必要に応じて、従って、中間コード最初のユニコードに他のエンコードされた文字列(デコード)を復号化であり、およびユニコード符号化(エンコード)からに別のエンコーディング。
アクションは、ユニコード符号化str101このようなstr101.decode(「UTF-8」)のような他のUnicodeエンコーディング、ショーバイトの変換、UTF-8でエンコードされた文字列に変換されエンコードされた文字列をデコードします
役割は、他のそのようなstr101.encodeとして、コーディング(「2312」)に符号化エンコードUnicode文字列であり、符号化された2312にエンコードされたUnicode文字列str101を変換することを示し
この手段はほとんどハッハッハです
最後に、宝の地図(参考になりましハンサム道、私に賞賛ああのセットを与えることを覚えている)を提供します