10.1---Pytho之 urllib.request 回顾
作者:互联网
""" ############# urllib.request 回顾 ############## urllib.request里是一个Python的用于获取的URL(统一资源定位器)模块。 官网详细: https://docs.python.org/release/3.2/howto/urllib2.html urllib.request 方法提供三种不同的请求方式: 一、get 请求: 方式1: (直接传入url地址) urllib.request.urlopen(url) 方式2: 先创建一个request对象: urllib.request.Request; 然后将对象放入urlopen()中:urllib.request.uelopen(Request对象); 二、post 请求: 【携带数据访问,(如登录用户名,密码等信息)】 1.先创建一个 Request对象: urllib.request.Request 2.将data数据进行格式化转换: data = urllib.parse.urlencode(values) 3.将请求数据放入Request对象中:urllib.request.Request(url,data) 三、header 添加请求头: """ ## 先导入urlleb.request url请求包 import urllib.request ## 定义需要访问的url: url = "http://www.baidu.com" ## 一、get请求 # 方式1:(直接传入url地址) resp_1 = urllib.request.urlopen(url) ##直接传入URL地址到request方法中 if resp_1.status == 200: ##判断访问状态码,200为正常访问 data_1 = resp_1.read().decode("utf-8") ##用read()方法读取数据,并且指定读取的字符编码 # print(data_1) # 方式2:(request对象封装数据访问) req_2 = urllib.request.Request(url) ##创建request对象,并封装访问地址; resp_2 = urllib.request.urlopen(req_2) ##用urlopen() 方法,打开封装的地址: if resp_2.status == 200: data_2 = resp_2.read().decode("utf-8") # print(data_2) ## 二、 post请求 data = {"name": "崽崽", "age": "13"} ##指定访问请求头信息; en_data = urllib.parse.urlencode(data) ##用解析方法:parse.urlencode(),对刚才指定的信息进行格式化; req = urllib.request.Request(url, en_data.encode("utf-8")) ##往request对象中封装url网址,和请求信息,请求信息需要转码; resp = urllib.request.urlopen(req) ##用urlopen()方法,携带封装信息,打开指定网址; if resp.status == 200: data_out = resp.read().decode("utf-8") # print(data_out) ## 三、herder 添加请求头 (官网例子) import urllib.parse import urllib.request # url = 'http://www.someserver.com/cgi-bin/register.cgi' ##官网的这个网址访问超时,暂时还用百度网址测试 user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' values = {'name': 'Michael Foord', 'location': 'Northampton', 'language': 'Python'} headers = {'User-Agent': user_agent} data = urllib.parse.urlencode(values) req = urllib.request.Request(url, data.encode("utf-8"), headers) response = urllib.request.urlopen(req) the_page = response.read().decode("utf-8") print(the_page)
标签:10.1,Pytho,##,resp,request,urllib,url,data 来源: https://blog.csdn.net/qingtingwhk/article/details/116465182