urllib2 模块的基本运用
1.urlopen:提供了一个接口,可以用多种协议获取url
import urllib2
html = urllib2.urlopen("http://python.org/").read() //返回一个Request类(类文件)对象
2.Request:处理所有的url协议
import urllib2
req = urllib2.Request(url)
res = urllib2.urlopen(req)
the_page = res.read()
Request(url[,data[,headers[,orgin_req_host[,nuverifiable]]]]) //允许两个额外的操作
1.向服务器发送数据
2.设定http头
//返回一个Request类(类文件)对象
POST方法:
import urllib,urllib2
url = ""
data = urllib.urlencode({:,:,:})
req = urllib2.Request(utl,data)
res = urllib2.urlopen(req)
the_page = res.read()
GET方法:
import urllib,urllib2
url = ""
data = urllib.urlencode({:,:,:})
req = urllib2.Request(url+'?'+data)
res = urllib2.urlopen(req)
the_page = res.read()
头:一般情况下,urllib2将自己识别为python-urllib/x.y
伪装成浏览器:
import urllib,urllib2
url = ""
user_agent = "Mozilla/4.0(compatiable;MSIZE5.5;Window NT)"
values = {}
headers = {'user_agent':user_agent}
data = urllib,urlencode(values)
req = urllib2.Request(url,data,headers)
res = urllib2.urlopen(req)
the_page = res.read()
4.Q:为什么要先对url进行Request处理:
urlopen 对 url 进行处理时,实际上是通过urllib2.OpenerDirector 实例进行工作。他会调用资源进行操作:通过协议,打开url,处理cookie,而 urlopen 方法使用的是默认的opener,无法满足我们特定的POST方法,设置headers或设置代理
通过urllib2.build_opener()可以创建自定义的opener实例
1.urlopen:提供了一个接口,可以用多种协议获取url
import urllib2
html = urllib2.urlopen("http://python.org/").read() //返回一个Request类(类文件)对象
2.Request:处理所有的url协议
import urllib2
req = urllib2.Request(url)
res = urllib2.urlopen(req)
the_page = res.read()
Request(url[,data[,headers[,orgin_req_host[,nuverifiable]]]]) //允许两个额外的操作
1.向服务器发送数据
2.设定http头
//返回一个Request类(类文件)对象
POST方法:
import urllib,urllib2
url = ""
data = urllib.urlencode({:,:,:})
req = urllib2.Request(utl,data)
res = urllib2.urlopen(req)
the_page = res.read()
GET方法:
import urllib,urllib2
url = ""
data = urllib.urlencode({:,:,:})
req = urllib2.Request(url+'?'+data)
res = urllib2.urlopen(req)
the_page = res.read()
头:一般情况下,urllib2将自己识别为python-urllib/x.y
伪装成浏览器:
import urllib,urllib2
url = ""
user_agent = "Mozilla/4.0(compatiable;MSIZE5.5;Window NT)"
values = {}
headers = {'user_agent':user_agent}
data = urllib,urlencode(values)
req = urllib2.Request(url,data,headers)
res = urllib2.urlopen(req)
the_page = res.read()
4.Q:为什么要先对url进行Request处理:
urlopen 对 url 进行处理时,实际上是通过urllib2.OpenerDirector 实例进行工作。他会调用资源进行操作:通过协议,打开url,处理cookie,而 urlopen 方法使用的是默认的opener,无法满足我们特定的POST方法,设置headers或设置代理
通过urllib2.build_opener()可以创建自定义的opener实例