四个模块:request,error,parse,robotparser
1.urllib.request 有urlopen()方法,url是必选参数,实现最基本的请求。
接收data参数,用bytes()方法转化,bytes()第一个参数必须是str,用urllib.parse的urlencode方法把字典转化为str,
指定编码encode = 'utf8'
timeout参数,设置超时时间。跳过抓取可以用try except
2.decode() 可以指定编码格式解码字符串,encode()指定编码方式.
3.request有Request类,更强大,有headers参数(字典)。
request = urllib.request.Request(url,data,headers,method),
response = urllib.request.urlopen(request)
4.高级用法:handler类+opener
管理认证:httpbasicauthhandler 。 先实例化一个认证对象(参数是httppasswordmrgwithdefaultrealm对象)
用bulid_opener()方法构建一个opener(参数是上文的handler)
网友评论