Python基础学习-'module' object has no attribute 'urlopen'解决方法
2015-11-17 14:57
1041 查看
参考“http://blog.sina.com.cn/s/blog_5cf74e410102uxsg.html”
用的是python 3.4
非常简单的一小段代码
报错:
“AttributeError:
'module' object has no attribute 'urlopen'”
原因是Python3里的urllib模块已经发生改变,此处的urllib都应该改成urllib.request。
运行成功!
报错:
TypeError: can't use a string pattern on a bytes-like object
原因为Python3 findall数据类型用bytes类型,因此在正则表达式前应添加html = html.decode('utf-8')
用的是python 3.4
非常简单的一小段代码
#!/usr/bin/python # -*- coding: UTF-8 -*- import urllib def getHtml(url): page = urllib.urlopen(url).read() html=page.read() return html url="http://tieba.baidu.com/p/4040087257/" html=getHtml(url) print(html)
报错:
“AttributeError:
'module' object has no attribute 'urlopen'”
原因是Python3里的urllib模块已经发生改变,此处的urllib都应该改成urllib.request。
#!/usr/bin/python # -*- coding: UTF-8 -*- import urllib.request def getHtml(url): page = urllib.request.urlopen(url) html=page.read() return html url="http://tieba.baidu.com/p/4040087257/" html=getHtml(url) print(html)
运行成功!
def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre=re.compile(reg) imglist = re.findall(imgre,html) return imglist
报错:
TypeError: can't use a string pattern on a bytes-like object
原因为Python3 findall数据类型用bytes类型,因此在正则表达式前应添加html = html.decode('utf-8')
相关文章推荐
- java object
- OC字符串的常规用法NSString的操作
- JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1
- Objective-C中常量重复定义的解决方案
- ldap获取数据中的objectGUID乱码问题
- [CareerCup] 14.5 Object Reflection 对象反射
- Objective-c:属性
- NSDate和NSString之间的相互转换
- 第五章Object-C类
- 解决在使用client object model的时候报“object does not belong to a list”错误
- 使用Masonry创建一个下拉式菜单
- Finding a Custom Object Id (01I…) to get the Setup page URL
- Objective-C基础-初次学习
- Objective-c(2)
- [super dealloc]内存释放的先后顺序
- Object-C,NumberDemo和StringDemo
- Object-C,NumberDemo和StringDemo
- Object-C,NumberDemo和StringDemo
- Object Overlay on Video
- Object-C之Protocol协议解析