urllib库的使用

urllib库是python中最基本的网络请求库,模拟浏览器的行为,向指定的服务器发送一个请求,并保存服务器返回的一个数据。

Request:
urlopen()函数参数:
url:请求的url
data:请求的data,若设置该值,则为post请求。
返回值:返回值是一个 http.client.HTTPResponse 对象,有 read(size), readline(), readlines(), getcode()方法。

response = request.urlopen("http://www.baidu.com")
print(response.read())
print(response.read(3))
print(response.getcode())
print(response.readline())
print(response.readlines())

urlretrieve函数:
request.urlretrieve(‘url’,‘filename’),将网页下载到本地

request.urlretrieve('http://www.tv432.com', 'heimi.html')
params = {'name': '张三', 'age': 18, 'greet': 'hello world'}
result = parse.urlencode(params)
print(result)

Parse:
urlencode函数:将不在ASCll中的字符进行编码,url在请求之前,浏览器会将url中不在ascll中的字符进行编码,才能够进行请求。
parse_qs函数:将编码的字符进行解码

url = 'http://www.baidu.com/s'
params0 = {'wd': '刘德华'}
result0 = parse.urlencode(params0)
print(result0)
url = url + '?' + result0
print(url)
response = request.urlopen(url)
print(response.read())
# parse_qs函数
result = parse.parse_qs(result)
print(result)

***urlparse函数:***将scheme,netloc,path,params,query,fragment从url中分离出来

from urllib import  parse

url = 'http://www.baidu.com/s;hello?wd=python&username=abc#1'
result = parse.urlparse(url)
print(result)
print('scheme:', result.scheme)
print('netloc:', result.netloc)
print('path:', result.path)
print('params:', result.params)
print('query:', result.query)
print('fragment:', result.fragment)
result0 = parse.urlsplit(url)
print(result0)

urlsplit函数:与urlparse函数相比缺少params,其余均为一样的。
url中的params也用的比较少,如

url = 'http://www.baidu.com/s;hello?wd=python&username=abc#1

则params ;?中的内容hello

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值