python 用requests获取网页源代码为啥中文显示错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 用requests获取网页源代码为啥中文显示错误相关的知识,希望对你有一定的参考价值。
参考技术A 查看一下网页的编码,比如是gbk的话,就r.encoding='gbk'。一下内容摘自requests文档requests会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。
请求发出后,requests会基于http头部对响应的编码作出有根据的推测。当你访问
r.text
之时,requests会使用其推测的文本编码。你可以找出requests使用了什么编码,并且能够使用
r.encoding
属性来改变它:
r.encoding
'utf-8'
r.encoding
=
'iso-8859-1'
如果你改变了编码,每当你访问
r.text
,request都将会使用
r.encoding
的新值。你可能希望在使用特殊逻辑计算出文本的编码的情况下来修改编码。比如
http
和
xml
自身可以指定编码。这样的话,你应该使用
r.content
来找到编码,然后设置
r.encoding
为相应的编码。这样就能使用正确的编码解析
r.text
了。
Python requests爬取今日头条,为啥获取不了网页内容
headers =
'user - agent': 'Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 53.0.2785.104Safari / 537.36Core / 1.53.4882.400QQBrowser / 9.7.13059.400'
response = requests.get('http://toutiao.com/group/6552087122092753412', headers = headers)
print(response.text)
-------------------------------------------------------------------------
得到的结果:
---------------------------------------------------------------------------
E:\Python_Pro\Spider\venv\Scripts\python.exe E:/Python_Pro/toutiao/jiepai.py
<html><head></head><body></body></html>
进程已结束,退出代码0
-----------------------------------------------------------------
求大神解答,是因为这个网页有反爬虫机制吗?我需要怎么破解。。萌新求大神指导
感觉并没有什么反爬吧,照着你的写明明可以获取图片呀
也不大可能是requests的版本问题吧,我2.12.4都可以额~
额。这就奇怪了?我这print(response.text),显示不了网页源代码,只能显示
<html><head></head><body></body></html>,导致后面要爬取图片直接报错。
以上是关于python 用requests获取网页源代码为啥中文显示错误的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫如何获取网页Network中某个文件的response?