最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python中的urllib2怎么用

    正文概述    2020-08-29   333

    python中的urllib2怎么用

    urlopen函数
    urllib2.urlopen(url[, data[, timeout[, cafile[, capath[, cadefault[, context]]]]])
    注:
    url表示目标网页地址,可以是字符串,也可以是请求对象Request
    req= urllib2.Request(url, data,headers) response = urllib2.urlopen(req,timeout=3)
    data表示post方式提交给目标服务器的参数
    data = urllib.urlencode(data)

    import urllib,urllib2  
    action_url="http://www.xxxxxx.com/post"#用于测试post的网址,返回提交的数据  
    values={'name':"alice",'age':20}  
    data=urllib.urlencode(values)#对表单数据编码  
    rqst=urllib2.Request(action_url,data)  
    response=urllib2.urlopen(rqst)#模拟提交表单数据到url并获得响应

    推荐学习《python教程》

    timeout表示超时时间设置。
    返回值
    response.read()返回页面内容
    response.info()返回网页信息
    response.geturl()返回连接地址
    这个函数可以像urllib.urlopen()那样以url做参数。也能以Request实例为参数,即用一个Request对象(下文构造方法)来映射你提出的HTTP请求,在它最简单的使用形式中你将用你要请求的地址创建一个Request对象,这个Request对象中可以设置传输数据、headers等。通过调用urlopen并传入Request对象,将返回一个file-like对象。urllib2还提供了接口来处理一般情况,例如:基础验证,cookies,代理和其他,它们通过handlers和openers的对象实现。
    2、Request函数
    urllib2.Request(url[, data][, headers][, origin_req_host][, unverifiable])
    用于构造Request对象,可以传递data数据,添加请求头(headers)等,构造好后作为urllib2.urlopen()的参数。
    注:
    url表示目标网页地址,可以是字符串,也可以是请求对象Request
    data表示post方式提交给目标服务器的参数
    headers表示用户标识,是一个字典类型的数据,有些不允许脚本的抓取,所以需要用户代理,像火狐浏览器的代理就是类似:Mozilla/5.0 (X11; U; Linux i686)Gecko/20071127 Firefox/2.0.0.11
    浏览器的标准UA格式为:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息 ,headers默认是Python-urllib/2.6
    origin_req_host表示请求方的主机域名或者ip地址。
    headers = {'User-Agent':'Mozilla/5.0 (X11; U; Linux i686)Gecko/20071127 Firefox/2.0.0.11'}

    import urllib   
    import urllib2   
    url = 'http://www.weibo.cn/'   
    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'   
    h = { 'User-Agent' : user_agent }   
    req = urllib2.Request(url,headers=h)   
    response = urllib2.urlopen(req)   
    print response.read()

    3、build_opener()
    build_opener([handler1 [ handler2, ... ]])

    urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象。
    参数handler是Handler实例,常用的有HTTPBasicAuthHandler、HTTPCookieProcessor、ProxyHandler等。
    build_opener ()返回的对象具有open()方法,与urlopen()函数的功能相同。
    如果要修改http报头,可以用:

    import urllib2  
    opener = urllib2.build_opener()  
    opener.addheaders = [('User-agent', 'Mozilla/5.0')]  
    opener.open('http://www.example.com/')

    起源地下载网 » python中的urllib2怎么用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元