urllib2 模块基本运用

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实例




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值