美文网首页
03、urllib库的使用

03、urllib库的使用

作者: 即将拥有八块腹肌的程序猿 | 来源:发表于2019-07-28 15:47 被阅读0次

1、什么是urllib?

urllib的4个模块

urllib是python内置的http请求库,主要有4个模块,分别是:urllib.request(请求模块)、urllib.error(异常处理模块)、urlib.parse(url解析模块)、urllib.robotparser(robots.txt解析模块)

相对Python2的变化

2、urllib用法讲解之urllib.request

urlopen方法使用

import urllib.request

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

print(response.read().decode('utf-8'))

urlopen()的第一个参数

import urllib.parse

import urllib.request

data = bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf-8')

response = urllib.request.urlopen('http://httpbin.org/post', data=data)

print(response.read())

urlopen()的第二个参数

import urllib.request

response = urllib.request.urlopen('http://httpbin.org/get', timeout=1)

print(response.read())

urlopen()的第三个参数

#演示urllib.error

import socket

import urllib.request

import urllib.error

try:

    response = urllib.request.urlopen('http://httpbin.org/get', timeout=0.1)

except urllib.error.URLError as e:

    if isinstance(e.reason, socket.timeout):

        print('TIME OUT')

urllib.error演示

2、response响应

response响应

#演示响应类型

import urllib.request

response = urllib.request.urlopen('http://www.python.org')

print(type(response))

演示响应

#演示状态头、响应头

import urllib.request

response = urllib.request.urlopen('http://www.python.org')

print(response.status)

print(response.getheaders())

print(response.getheader('server'))

演示状态码、响应头

3、request

request

#演示request

import urllib.request

request = urllib.request.Request('http://www.python.org')

response = urllib.request.urlopen(request)

print(response.read().decode('utf-8'))

演示request

4、handler

handler cookie

urllib用法讲解之urllib.error

异常处理

urllib用法讲解之urllib.urlparse

urlparse urlunparse urljoin urlencode

官方文档参考地址:https://docs.python.org/zh-cn/3/library/urllib.html

相关文章

网友评论

      本文标题:03、urllib库的使用

      本文链接:https://www.haomeiwen.com/subject/unqqrctx.html