zoukankan      html  css  js  c++  java
  • 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,如果给定本地地址,会将临时文件保存到给定的地址中

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

  • 相关阅读:
    ubuntu配置服务器环境
    discuz安装与学习资料
    前端面试题总结(一)
    css公共样式,初始化
    js的解析--预处理(三)
    sass的安装与基础
    移动开发学习笔记(一) 移动开发的注意事项
    移动前端一些常用的框架
    JavaScript的构造器与对象(二)
    JavaScript 中的Object的使用详解笔记(一)
  • 原文地址:https://www.cnblogs.com/someoneHan/p/6227055.html
Copyright © 2011-2022 走看看