python urllib

在伴随学习爬虫的过程中学习了解的一些基础库和方法总结扩展

1. urllib 在urllib.request module中定义下面的一些方法

urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)

打开一个url地址,这个url地址可以是一个字符串或者一个request对象

I 请求打开一个字符串地址

1 from urllib.request import urlopen
2
3 html = urlopen(‘https://www.baidu.com/‘)
4 print(html.read())

II 请求打开一个request对象

1 from urllib import request
2
3 req = request.Request(‘https://www.baidu.com/‘)
4 html = request.urlopen(req)
5 print(html.read())

如果需要向服务端发送特定的附件数据信息,数据必须是一个字节对象指定额外的数据发送到服务器,当数据参数被提供的时候HTTP请求将会执行Post请求而不是Get请求

数据应该是一个缓冲的标准应用程序以 x-www-form-urldecoded的格式。urllib.parse.urlencode()函数接受一个映射或序列集合,并返回一个ASCII文本字符串的格式。

III 返回值,urlopen这个函数的返回值包含上下文环境,使用with语句来进行操作。这个对象包含了下面的几个常用方法

1. geturl()  返回当前资源的url地址,也就是请求的url地址

2. info()     返回当前资源的meta-information 包括:headers等等

3. getcode() 返回请求的状态 200为成功 404为未找到

对于http和https的url请求,这个方法返回http.client.HTTPResponse类型的对象

对于ftp file 和data urls这个请求被URLOpener和FancyURLopener两个类型处理,并且返回urllib.response.addinfourl 对象。

2. urllib.request.urlretrieve(url, filename=None, reporthook=None, data=None)

将网站上的内容下载到本地的方法,如果这个url为本地地址,如果本地文件不支持就不会发生下载

函数的返回值为(filename,headers)组成的元组,filename为本地文件,headers和urlopen方法返回的info()方法返回一样

第二个参数filename,如果给定本地地址,会将临时文件保存到给定的地址中

第三个参数为一个钩子对调函数,一旦和请求网络建立连接每次传入都会讲传输的信息通过这个函数返回

时间: 2024-10-29 19:12:06

python urllib的相关文章

Python:urllib和urllib2的区别(转)

原文链接:http://www.cnblogs.com/yuxc/ 作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版.今天看到老外写的一篇<Python: difference between urllib and urllib2>才明白其中的区别. You might be intrigued by the existence of two separate URL modules in Python -urllib and urllib2. Even

Python urllib和urllib2模块学习

Python标准库中有许多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib和urllib2 这个 HTTP 客户端库.这里总结了一些 urllib和urlib2 库的使用细节. Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 一.urllib常用函数介绍: 1. urlopen()函数:即创建一个类文件对象为指定的 url 来读取. 可以使用help(urllib.urlopen)查看函数

Python urllib urlretrieve函数解析

Python urllib urlretrieve函数解析 利用urllib.request.urlretrieve函数下载文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Urlretrieve函数解析 urllib.request.urlretrieve函数解析 urlretrieve(url, filename=None, reporthook=None, data=None) 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件

python urllib 和 urllib2

urllib 和 urllib2 都是接受URL请求的相关模块,但是提供了不同的功能.两个最显著的不同如下: urllib 仅可以接受URL,不能创建 设置了headers 的Request 类实例: 但是 urllib 提供 urlencode 方法用来GET查询字符串的产生,而 urllib2 则没有.(这是 urllib 和 urllib2 经常一起使用的主要原因) 编码工作使用urllib的urlencode()函数,帮我们将key:value这样的键值对转换成"key=value&qu

python urllib模块

1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google 1 #coding:UTF8 2 3 import urllib 4 response = urllib.urlopen("http://www.baidu.com") 5 f = response.readline() #读取html第一行 6 print f 代码 返回结果 <!DOCTYPE html

python urllib相关学习

#-*-coding:-utf-8 import urllib #url='http://iplaypython.com/' #url1=urllib.urlopen(url)#打开url地址,urlopen(url, data=None, proxies=None) #print url1.read()#读取read() , readline() , readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样 #print url1.getcode

python urllib 库

urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google >>> import urllib >>> f = urllib.urlopen('http://www.google.com.hk/') >>> firstLine = f.readline()   #读取html页面的第一行 >>>

[python]-urllib和urllib2模块

转自:http://zeping.blog.51cto.com/6140112/1143722 urllib 和urllib2都是接受URL请求的相关模块,但是提供了不同的功能. urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有. urllib: 网页基础: import urllib #打开51cto cto = urllib.urlopen('http://www.51cto.com') #打开本地文件:cto = urllib.urlopen(url=

python urllib基础学习

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #使用python创建一个简单的WEB客户端 import urllib,urllib2,urlparse """ web地址元素 URL部件                 描述 prot_sch             网络协议或者下载规划 nety_loc             服务器位置(或者也有用户信息) path          

Python:urllib 和urllib2之间的区别

你可能对于Python中两个独立存在的-urllib2和-urllib2感到好奇.更有趣的是:它们并不是可以相互代替的.那么这两个模块间的区别是什么,并且这两个我们都需要吗? urllib 和urllib2都是接受URL请求的相关模块,但是提供了不同的功能.两个最显著的不同如下: urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL.这意味着,你不可以伪装你的User Agent字符串等. urllib提供urlencode方法用来GET