设为首页收藏本站

Crossin的编程教室

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

弱弱的问一句:request.urlopen加不加urllib前缀什么区别

[复制链接]

4

主题

0

好友

98

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2018-2-17 12:55:06 |只看该作者 |倒序浏览
两个问题,如下
request.Request与urllib.request.Request什么区别
request.urlopen与urllib.request.urlopen什么区别
心里一直默认他们的没区别的.....今天发现两个好像不能相互替代,那区别是啥?=-=
例如代码为:
# -*- coding: UTF-8 -*-
from urllib import request

if __name__ == "__main__":
    req = request.Request("http://fanyi.baidu.com/")
    response = request.urlopen(req)
    print("geturl打印信息:%s"%(response.geturl()))
    print('**********************************************')
    print("info打印信息:%s"%(response.info()))
    print('**********************************************')
    print("getcode打印信息:%s"%(response.getcode()))
输出会为:
geturl打印信息:http://fanyi.baidu.com/
**********************************************
info打印信息:Content-Type: text/html
Date: Sat, 17 Feb 2018 04:46:23 GMT
P3p: CP=" OTI DSP COR IVA OUR IND COM "
Server: Apache
Set-Cookie: locale=zh; expires=Fri, 14-Dec-2018 04:46:23 GMT; path=/; domain=.baidu.com
Set-Cookie: BAIDUID=F45F8D5AA1B38BB7982C05CEDC72289B:FG=1; expires=Sun, 17-Feb-19 04:46:23 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1
Vary: Accept-Encoding
Connection: close
Transfer-Encoding: chunked


**********************************************
getcode打印信息:200
[Finished in 0.5s]
这个没问题,然后我发现加上一个urllib前缀就不对了,即变为如下:
# -*- coding: UTF-8 -*-
from urllib import request

if __name__ == "__main__":
    req = urllib.request.Request("http://fanyi.baidu.com/")#就这里变了
    response = urllib.request.urlopen(req)#就这里变了
    print("geturl打印信息:%s"%(response.geturl()))
    print('**********************************************')
    print("info打印信息:%s"%(response.info()))
    print('**********************************************')
    print("getcode打印信息:%s"%(response.getcode()))
运行会报错:
Traceback (most recent call last):
  File "D:\Documents\sublime\pachong\55.py", line 5, in <module>
    req = urllib.request.Request("http://fanyi.baidu.com/")
NameError: name 'urllib' is not defined
[Finished in 0.3s]
=-=不是导入了urllib.request吗,为什么说not defined?
=-=弱弱的问一句,到底是什么导致了他们不同?


回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-2-17 20:42:32 |只看该作者
import urllib.request

你没有import过urllib
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

4

主题

0

好友

98

积分

注册会员

Rank: 2

板凳
发表于 2018-2-18 16:45:03 |只看该作者
crossin先生 发表于 2018-2-17 20:42
import urllib.request

你没有import过urllib

哦哦,我明白了:from urllib import request仅仅是调用了request,所不能urllib.request,而import urllib.request在用时则是urllib.request表urllib包里的request的函数=-=原来是这样
回复

使用道具 举报

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

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

GMT+8, 2024-4-23 20:52 , Processed in 0.042488 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部