美文网首页
python的urlib库(1)

python的urlib库(1)

作者: 特特小哥哥 | 来源:发表于2019-04-12 15:40 被阅读0次

urlopen 函数

此函数的作用爬取全部代码,源代码

from urllib import request
resp = request.urlopen('http://www.baidu.com')
print(resp.read())

以下对urlopen函数信息详细讲解:

  • url:请求的url
  • date:请求的date如果设置了这个值那么将变成post请求
  • 返回值:返回值是一个http.client.HTTPResponse对象,这个对象是一个类文件句柄对象。有read(sile)、readine、readlines以及getcode等方法
    • readline 读取一行
    • read()读取多少空为全部
    • readlines()多行显示
    • getcode()状态码

urlretrieve函数

用途:将网页上的一个文件保存到本地。下载

from urllib import request
request.urlretrieve('http://www.baidu.com','baidu.html')

urlencode函数和parse_qs函数

一个是将中文等字符串重新编码另一个刚好相反是将经过编码后的URL参数进行解码

urlencode函数
urlencode函数的用法# params = {'name':'张三',"age":18,'greet':'hello world'}# # result = parse.urlencode(params)# # print(result)# url = 'http://www.baidu.com/s'# params = {"wd":"刘德华"}# qs = parse.urlencode(params)# url = url + "?" + qs# resp = request.urlopen(url)# print(resp.read())

parse_qs函数
params = {'name':'张三',"age":18,'greet':'hello world'}
qs = parse.urlencode(params)
print(qs)
result = parse.parse_qs(qs)
print(result)

urlparse和urlsplit函数

对rul中的各个注册部分进行分割,就可以使用这两个函数进行分割代码

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

两个函数基本上是一模一样的。唯一不一样的是‘urlparse’里面多了个'params'属性,而'urlsplit'没有这个属性:比如有 有一个'url'为:url = 'http://www.baidu.com/s;hello?wd=python&username=abc#1' 那么'urlparse'可以获取到'hello',而’urlsplit‘不可以获取到,一般params也用的比较少

相关文章

网友评论

      本文标题:python的urlib库(1)

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