python-标准库urllib模块的使用
python-标准库urllib模块
1. python标准库urllib模块
- 
urllib库用于访问URL。 
- 
urllib包含以下类: - 
urllib.request打开和读取URL 
- 
urllib.error包含urllib.request抛出的异常 
- 
urllib.parse用于解析URL 
- 
urllib.robotparser用于解析robots.txt文件 
 
- 
- 
用的最多是urllib.request 类,它定义了适用于在各种复杂情况下打开URL,例如基本认证、重定向、Cookie、代理等。 
- 
urllib的request方法 from urllib import request res = request.urlopen("http://www.ctnrs.com")res是一个HTTPResponse类型的对象,包含以下方法和属性: 方法 描述 getcode() 获取响应的HTTP状态码 geturl() 返回真实URL。有可能URL3xx跳转,那么这个将获得跳转后的URL headers 返回服务器header信息 read(size=-1) 返回网页所有内容。size正整数指定读取多少字节 readline(limit=-1) 读取下一行。size正整数指定读取多少字节 readlines(hint=0, /) 列表形式返回网页所有内容,以列表形式返回。sizehint正整数指定读取多少字节 
- 
示例 - 
示例1、自定义用户代理 from urllib import request url = "http://www.ctnrs.com" user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36" header = {"User-Agent": user_agent} req = request.Request(url, headers=header) res = request.urlopen(req) print(res.getcode())
- 
示例2、向接口提交用户数据 from urllib import request, parse url = "http://www.ctnrs.com/login" post_data = {"username":"user1","password":"123456"} post_data = parse.urlencode(post_data).encode("utf8") #将字典转为URL查询字符串格式,并转为bytes类型 req = request.Request(url, data=post_data, headers=header) res = request.urlopen(req) print(res.read())
 
- 
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号