python爬虫(urllib简介)

urllib模块

通过url打开任意资源,官方链接

urllib模块提供一个高级接口,可以在通过url在网上获取数据。其中,urlopen()函数类似于内置函数open(),但接受的是url不是文件名。只能打开用于读取的url,不能任何查找操作。

urllib.urlopen(url[, data[, prpxies[, context]]])

其中,url是网址,data表示以post方式提交到url的数据,proxies用于设置代理。

import urllib
print urllib.urlopen("http://www.baidu.com").read()

urlopen提供如下方法:

  1. read()、readline()、readlines()、fileno()、close() 这些方法具有与文件对象相同的接口
  2. info() 返回类mimetools的一个实例。包含与URL相关联的元信息的消息。参见mimetools模块的描述。
  3. etcode() 返回以响应发送的http状态码,如果是http请求,200表示成功,404表示网址未找到。不是http的请求,则不返回。
  4. geturl() 返回页面真实的url,有时服务器会重定向到其他的url上,urlopen透明的处理这种情况,但有的操作也许需要真实url。
urllib.urlretrieve(url[, filename[, reporthook[, data]]])

复制一个由URL指向本地文件的网络对象。

url = "http://www.baidu.com"
local = "./bd.html"
urllib.urlretrieve(url, local)
urllib._urlopener

公共函数urlopen()和urlretrieve()创建一个FancyURLopener类的实例,并使用它执行请求的操作。为了覆盖这个功能,程序员可以创建一个URLopener或FancyURLopener的子类,然后在调用所需函数之前,给urllib._urlopener分配一个类的实例。

class AppURLopener(urllib.FancyURLopener):
  version = " App / 1.7”
  urllib。_urlopener = AppURLopener()

urllib.urlcleanup()

其他一些方法:

  • urllib.quote(string[, safe]):对字符串进行编码。参数safe指定了不需要编码的字符;
  • urllib.unquote(string) :对字符串进行解码;
  • urllib.quote_plus(string [ , safe ] ) :与urllib.quote类似,但这个方法用’+’来替换’ ‘,而quote用’%20’来代替’ ‘
  • urllib.unquote_plus(string ) :对字符串进行解码;
  • urllib.urlencode(query[, doseq]):将dict或者包含两个元素的元组列表转换成url参数。例如 字典{‘name’: ‘dark-bull’, ‘age’: 200}将被转换为”name=dark-bull&age=200″
  • urllib.pathname2url(path):将本地路径转换成url路径;
  • urllib.url2pathname(path):将url路径转换成本地路径;

版本的调整

通过 python --version 查看当前默认的python版本。

版本2.7.9开始,对于HTTPS URIs,urllib默认执行全部需要的证书和主机名的检查。对于早于2.7.9的Python版本,urllib不会验证HTTPS uris的服务器证书。

3.x以上的版本urllib和urllib2已经合并为一个urllib库。

参考:
http://python.jobbole.com/81478/ (原地址找不到了)
https://www.cnblogs.com/wly923/archive/2013/05/07/3057122.html
https://docs.python.org/2/library/urllib.html#module-urllib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值