Urllib.request用法简单介绍(Python3.3)

urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urllib.robotparser四个子模块,这里主要介绍urllib.request的一些简单用法.

首先是urlopen函数,用于打开一个URL:

# -*- coding:utf-8 -*- 
#获取并打印google首页的html
import urllib.request
response=urllib.request.urlopen('http://www.google.com')
html=response.read()
print(html)

urlopen返回一个类文件对象,可以像文件一样操作,同时支持一下三个方法:

  • info():返回一个对象,表示远程服务器返回的头信息。
  • getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。
  • geturl():返回请求的url地址。

有时候我们需要设置代理,这时我们可以这样做:

# -*- coding:utf-8 -*- 
#设置全局代理
import urllib.request
handler=urllib.request.ProxyHandler({'http':'http://someproxy.com:8080'})
opener=urllib.request.build_opener(handler)
urllib.request.install_opener(opener)#安装opener作为urlopen()使用的全局URL opener,即以后调用urlopen()时都会使用安装的opener对象。
response=urllib.request.urlopen('http://www.google.com')
print(response.read())

如果要细致的设置代理,可以用opener的open方法打开URL:

# -*- coding:utf-8 -*- 
#设置代理
import urllib.request
handler=urllib.request.ProxyHandler({'http':'http://someproxy.com:8080'})
opener=urllib.request.build_opener(handler)
response=opener.open('http://www.google.com')
print(response.read())

打开url后,我们可以将内容写入一个本地文件来达到保存网页的目的,但是这里有一个更方便的方法,那就是调用urlretrieve():

# -*- coding:utf-8 -*- 
#使用urllib.request.urlretrieve()将网页保存到本地
import urllib.request
url='http://www.baidu.com/'
local_path='P:\\download.html'
urllib.request.urlretrieve(url, local_path)

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值