pythonurllib怎么用

来源:千锋教育
发布时间:2023-11-09 20:59:07
分享

在python3中,urllib和urllib2进行了合并,现在只有一个urllib模块,urllib和urllib2的中的内容整合进了urllib.request,urlparse整合进了urllib.parse。

urlparse将urlstr解析成各个组件

importurllib.request

importurllib.parse

url="http://www.baidu.com"

parsed=urllib.parse.urlparse(url)

print(parsed)

#输出:ParseResult(scheme='http',netloc='www.baidu.com',path='',params='',query='',fragment='')

urljoin(baseurl,newurl,allowFrag=None)将url的根域名和新url拼合成一个完整的url

importurllib.parse

url="http://www.baidu.com"

new_path=urllib.parse.urljoin(url,"index.html")

print(new_path)

#输出:http://www.baidu.com/index.html

urlopen(url,data,timeout)打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作

importurllib.request

req=urllib.request.urlopen('http://www.baidu.com')

print(req.read())

read(),readline(),readlines(),fileno(),close()

info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息。

getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。

geturl():返回请求的url。

urlretrieve(url,filename,reporthook,data)下载url定位到的html文件,不写路径filename则会被存为临时文件可以用urllib.urlcleanup()来清理缓存

file_name=urllib.request.urlretrieve('http://www.baidu.com','%s/baidu.html'%BASE_DIR)

urlencode()将dict中的键值对以连接符&划分

importurllib.parse

dic={'name':'melon','age':18}

data=urllib.parse.urlencode(dic)

print(data)#age=18&name=melon

GET请求

GET请求和我们平常get访问方式一样,直接把参数写到网址上面就好了

importurllib.request

importurllib.parse

dic={'name':'melon','age':18}

data=urllib.parse.urlencode(dic)

req=urllib.request.urlopen('http://127.0.0.1:8000/index?%s'%data)

content=req.read()

POST请求

importurllib.request

importurllib.parse

importjson

dic={'name':'melon','age':18}

data=urllib.parse.urlencode(dic)

req=urllib.request.Request('http://127.0.0.1:8000/index',data.encode())

opener=urllib.request.urlopen(req)

content=json.loads(opener.read().decode())

当你urllib.urlopen一个https的时候会验证一次SSL证书,当目标使用的是自签名的证书时就会出现一个URLError,如果是这样可以在开头加上

importssl

ssl._create_default_https_context=ssl._create_unverified_context

以上内容为大家介绍了python培训之urllib怎么用,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python立方怎么表示 python可以直接运算数字,也可以加print进行运算。>>>1+12>>>2-11>>>2*36>>>4/31.3333333333333333^与**python当中^符号,区别于Matlab,
  • python如何确定文件是否存在 python中的os模块os模块中的os.path.exists(path)可以检测文件或文件夹是否存在,path为文件/文件夹的名字/绝对路径。返回结果为True/Falseprintos.path
  • pythonelif语句报错是什么原因 python的else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if、for、while语句内部的。else子句可以增加一种选择;而elif子句则是需要检查更多条件时会被使用,
  • python一个数的平方怎么表示 用python进行数学计算,可以使用python内置的函数模块,下面讲解几个实例使用内置模块求一个数的平方和平方根>>>importmath>>>math.pow(12,2)#求平方144.0>>>m
  • pythonhelp函数怎么退出 python的help用法及退出方式一、进入交互模式打开cmd命令行窗口,输入python效果如下:D:\Company\Code\python>pythonPython2.7.14(v2.7.14:
  • python怎么调用类方法 python中的类用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。要想调用类中的方法,首先要定义一个类,python中定义类使用class关键字c