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

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. R语言 批量规划求解

    昨天读到一个项目,是关于优化求解的. 约束条件如下: 公司里有很多客户,客户之所以不继续用我们的产品了,是因为他账户余额是负的,所以,为了重新赢回这些客户,公司决定发放优惠券cover掉客户账户的负余 ...

  2. Excel文件转plist文件出现的文件编码问题

    今天在测试时遇到了需要将大量整理好的Excel数据转换为plist文件的情况.百度了一下教程,发现虽然别人也遇到过类似的情况,但是有些讲的还是不够细致.所以做如下整理.   百度到的内容中有使用Mes ...

  3. C++ 之namespace常见用法

    一.背景 需要使用Visual studio的C++,此篇对namespace的常用用法做个记录. 二.正文 namespace通常用来给类或者函数做个区间定义,以使编译器能准确定位到适合的类或者函数 ...

  4. Unix网络单词汇总

    Chrome开发者工具 Elements(元素).Network(网络).Sources(源代码:调试JS的地方).Timeline(时间线).Profiles(性能分析).Resources(资源: ...

  5. Android handler的使用简单示例

    Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMes ...

  6. jvm--1.class文件结构

    1.字节码(1)bytecode是构成平台无关性的基石 (2)当jvm发展到1.7-1.8的时候,jvm设计者通过,JSR-292,基本可以让其他语言运行在jvm上面. 如,Clojure , Gro ...

  7. JS学习:第二周——NO.3盒子模型

    1.CSS盒子模型包括四个部分组成:设定的宽高+padding+border+margin: 2.JS盒子模型:通过系统提供的属性和方法,来获取当前元素的样式值   JS提供的属性和方法: clien ...

  8. android Viewpager HorizontalScrollView 实现分页栏拖拽

    源码:http://files.cnblogs.com/android100/ViewPaperDemo.rar首先我们先看一个效果:  前两个是网易的,它做的title不能拖拽,.不过点击动画效果挺 ...

  9. 复选框css

    input, select, button, textarea{ -webkit-appearance:none; }该属性会导致复选框失去选择效果

  10. Deep Residual Learning

    最近在做一个分类的任务,输入为3通道车型图片,输出要求将这些图片对车型进行分类,最后分类类别总共是30个. 开始是试用了实验室师姐的方法采用了VGGNet的模型对车型进行分类,据之前得实验结果是训练后 ...