设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 20894|回复: 3
打印 上一主题 下一主题

python3.5.1 【Python 第44课】 查天气(2)网页导入出错,求解

[复制链接]

2

主题

0

好友

8

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-3-5 22:53:06 |只看该作者 |倒序浏览
【Python 第44课】 查天气(2)from urllib import request
web=request.urlopen(r'http://www.baidu.com')
content=web.read()
f=open('baidu.html','w')
f.write(content)
f.close()

出错提示:
Traceback (most recent call last):
  File "C:\Users\xiejian\AppData\Local\Programs\Python\Python35-32\test180305.py", line 5, in <module>
    f.write(content)
TypeError: write() argument must be str, not bytes

修改为:
from urllib import request
web=request.urlopen(r'http://www.baidu.com')
content=str(web.read())
f=open('baidu.html','w')
f.write(content)
f.close()

能够顺利生成baidu.html文件,用360浏览器打开则是一堆乱码。
大神们,求解啊!


回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-3-6 14:38:18 |只看该作者
content.decode('utf8')
或者用 wb 模式写入
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

9

主题

0

好友

75

积分

注册会员

Rank: 2

板凳
发表于 2018-4-5 17:14:47 |只看该作者
crossin先生 发表于 2018-3-6 14:38
content.decode('utf8')
或者用 wb 模式写入

是把f.write(content)
改成
content.decode('utf8')吗?还是打不开啊
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2018-4-6 00:04:47 |只看该作者
f.write(content.decode('utf8'))
windows是gbk
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 04:26 , Processed in 0.022785 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部