甜心先生 发表于 2020-7-10 00:49:50

print(html)报错

打印html就报错怎么回事,以前都可以直接打印的好久没用,突然发现就是打印不了html{:5_100:} 咋肥四啊这是,哪位大佬可以帮忙解决一下

Stubborn 发表于 2020-7-10 00:54:58

本帖最后由 Stubborn 于 2020-7-10 00:56 编辑

应该是编码有问题。

你试试,不行就需要发下链接了
response.encoding = "utf-8” # 不行再试"gb2312", "gbk"这两个

甜心先生 发表于 2020-7-10 08:05:04

Stubborn 发表于 2020-7-10 00:54
应该是编码有问题。

你试试,不行就需要发下链接了

还是不行,print(len(html))就可以正常运行,就是不能print(html)

BIO-张磊 发表于 2020-7-10 08:30:58

你一开始有一个unicode编码,最简单的方式把你这个html文件用记事本打开,之后另存为,另存为那边有一个编码选择,选择UTF-8即可

乘号 发表于 2020-7-10 08:34:47

看你这个标题额还以为是web   html的print嘞

johnnyb 发表于 2020-7-10 08:46:26

r.encoding = r.apparent_encoding
可以解决

qiuyouzhi 发表于 2020-7-10 08:58:17

BIO-张磊 发表于 2020-7-10 08:30
你一开始有一个unicode编码,最简单的方式把你这个html文件用记事本打开,之后另存为,另存为那边有一个编码 ...

根本就没有涉及到文件操作好不好...

甜心先生 发表于 2020-7-10 08:59:20

johnnyb 发表于 2020-7-10 08:46
可以解决

试了,依然不行{:5_100:}源码已经获取到了,就是不能print

甜心先生 发表于 2020-7-10 09:00:31

BIO-张磊 发表于 2020-7-10 08:30
你一开始有一个unicode编码,最简单的方式把你这个html文件用记事本打开,之后另存为,另存为那边有一个编码 ...

这是直接请求的,就是想打印在控制台上解析一下,

lhgzbxhz 发表于 2020-7-10 09:00:41

试试这样,不知道行不行
html = response.content
with open("text.html", 'wb') as f:
    f.write(html)

with open("text.html", 'r', encoding='utf-8') as f:
    html = f.read()

print(html)
可能有更简洁的方法,这只是我想到的

suchocolate 发表于 2020-7-10 09:06:26

url发出来

BIO-张磊 发表于 2020-7-10 09:13:31

qiuyouzhi 发表于 2020-7-10 08:58
根本就没有涉及到文件操作好不好...

可能我没解释清楚,我的想法是把他保存为一个新的文件,之后在读取进来。类似于10楼的想法。如果这个方法不行,那说明我太菜了。。。。

Twilight6 发表于 2020-7-10 09:21:15

你把你的代码发上来

甜心先生 发表于 2020-7-10 10:00:07

代码
headers = {'User-Agent': 'daddddse'}
#
response = requests.get('https://www.vmgirls.com/14101.html',headers=headers)
print(response.request.headers)
html = response.text
# print("ilove fash c")
print(html)

Twilight6 发表于 2020-7-10 10:02:51

甜心先生 发表于 2020-7-10 10:00
代码





我成功打印了,应该是你 PyCharm 没有设置编码的问题,去我帖子去设置下PyCharm 的编码

【萌新使用 PyCharm 必看】PyCharm 基础使用手册
https://fishc.com.cn/thread-173240-1-1.html
(出处: 鱼C论坛)

甜心先生 发表于 2020-7-10 10:03:48

新建了个项目。。。可以了{:10_284:}

Twilight6 发表于 2020-7-10 10:11:49

甜心先生 发表于 2020-7-10 10:03
新建了个项目。。。可以了


如果问题解决,那就设置下【最佳答案】吧~

johnnyb 发表于 2020-7-13 12:30:56

本帖最后由 johnnyb 于 2020-7-13 12:32 编辑

甜心先生 发表于 2020-7-10 10:03
新建了个项目。。。可以了

另存为的时候 open('x.html','w',encoding='utf-8')    这个encoding='utf-8' 是核心. 以u8方式写入.   不然如果你取得的内容可能是gbk 或者ascii 编码之间必须转换.我吃过这亏

甜心先生 发表于 2020-7-13 16:28:06

本帖最后由 甜心先生 于 2020-7-13 16:44 编辑

🙏

甜心先生 发表于 2020-7-13 16:42:42

johnnyb 发表于 2020-7-13 12:30
另存为的时候 open('x.html','w',encoding='utf-8')    这个encoding='utf-8' 是核心. 以u8方式写入.   ...

我没有另存,只是打印在控制台,问题解决了,在设置里
页: [1]
查看完整版本: print(html)报错