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

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

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

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

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

 from urllib.request import urlopen

 html = urlopen('https://www.baidu.com/')
print(html.read())

II 请求打开一个request对象

 from urllib import request

 req = request.Request('https://www.baidu.com/')
html = request.urlopen(req)
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,如果给定本地地址,会将临时文件保存到给定的地址中

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

python urllib的更多相关文章

  1. python urllib模块的urlopen()的使用方法及实例

    Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 一.urllib模块urlopen()函数: urlopen(url, data=N ...

  2. Python:urllib和urllib2的区别(转)

    原文链接:http://www.cnblogs.com/yuxc/ 作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版.今天看到老外写的一篇<Python: ...

  3. Python urllib和urllib2模块学习(一)

    (参考资料:现代魔法学院 http://www.nowamagic.net/academy/detail/1302803) Python标准库中有许多实用的工具类,但是在具体使用时,标准库文档上对使用 ...

  4. python urllib和urllib2 区别

    python有一个基础的库叫httplib.httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现 ...

  5. Python urllib urlretrieve函数解析

    Python urllib urlretrieve函数解析 利用urllib.request.urlretrieve函数下载文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Ur ...

  6. python+urllib+beautifulSoup实现一个简单的爬虫

    urllib是python3.x中提供的一系列操作的URL的库,它可以轻松的模拟用户使用浏览器访问网页. Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能 ...

  7. HTTP Header Injection in Python urllib

    catalogue . Overview . The urllib Bug . Attack Scenarios . 其他场景 . 防护/缓解手段 1. Overview Python's built ...

  8. python urllib urllib2

    区别 1) urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL.这意味着,用urllib时不可以伪装User Agent字符串等. 2) u ...

  9. python urllib基础学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #使用python创建一个简单的WEB客户端 import urll ...

  10. python urllib模块

    1.urllib.urlopen(url[,data[,proxies]]) urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像 ...

随机推荐

  1. JPA入门

    JPA是什么 JPA全称Java Persistence API,是一组用于将数据存入数据库的类和方法的集合.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化 ...

  2. [IOS]JSPatch

    用途 修复线上出现的紧急crash,热更新 例子 demo 原理解读 在程序didFinishLaunch时候执行,[JPEngine startEngine], startEngine做了对解析js ...

  3. Maven的Missing artifact问题解决

     Maven的Missing artifact问题解决   今天在创建一个新的Maven项目时,在其中添加了很多依赖.刚开始为了避免错误就每添加一次,保存一下,Eclipse就会下载相应的包.最后为了 ...

  4. js之认识闭包

    本文采用5W1H分析法来看一下闭包. 一.why-----从为什么要引入闭包先来了解一下闭包. 讨论为什么要引入闭包就要先讨论一下js中的作用域链及垃圾回收机制. 熟悉js语言的人都知道js中有作用域 ...

  5. mybatis配置自带缓存和第三方缓存

    http://blog.csdn.net/grhlove123/article/details/47808025

  6. gd库

    1.开启GD库扩展 去掉注释: extension=php_gd2.dll extension_dir='ext目录所在位置' 2.检测GD库是否开启 phpinfo(); //检测扩展是够开启 ex ...

  7. Android Studio 导出jar包

    不像在Eclipse,可以直接导出jar包.AndroidStudio只可以生成aar包. 在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了. 用jar命 ...

  8. Kali 开机报错解决方案

    问题一: piix4_smbus ::007.3: Host SMBus controller not enabled 解决:打开 /etc/modprobe.d/blacklist.conf 末尾加 ...

  9. Visual Studio 常用快捷键备忘

    在代码中插入书签 用途 操作   vs2013 快速在自定义的不同代码位置跳转 首先点击: 编辑=>书签=>启用书签 然后再在代码编辑窗口 ctrl+k, k (取消书签,再按一次 ctr ...

  10. 网站底部版权信息区(bootstrap)

    bootstrap的强大功能毋庸置疑.所以,网站底部版权信息区可以用bootstrap的“栅格系统”完成. 下面是一个未经处理的底部版权信息区的样式: <div class="cont ...