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也用的比较少