zoukankan      html  css  js  c++  java
  • python----urllib模块

    urllib

    官方文档:https://docs.python.org/3/library/urllib.html

    Py2.x:

    • Urllib
    • Urllin2

    Py3.x:

    • Urllib

    变化:

    • 在Pytho2.x中使用import urllib2——-对应的,在Python3.x中会使用import urllib.requesturllib.error
    • 在Pytho2.x中使用import urllib——-对应的,在Python3.x中会使用import urllib.requesturllib.errorurllib.parse
    • 在Pytho2.x中使用import urlparse——-对应的,在Python3.x中会使用import urllib.parse
    • 在Pytho2.x中使用import urlopen——-对应的,在Python3.x中会使用import urllib.request.urlopen
    • 在Pytho2.x中使用import urlencode——-对应的,在Python3.x中会使用import urllib.parse.urlencode
    • 在Pytho2.x中使用import urllib.quote——-对应的,在Python3.x中会使用import urllib.request.quote
    • 在Pytho2.x中使用cookielib.CookieJar——-对应的,在Python3.x中会使用http.CookieJar
    • 在Pytho2.x中使用urllib2.Request——-对应的,在Python3.x中会使用urllib.request.Request

    urlopen(url,data,timeout) 函数

    打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作

    1 import urllib.request
    2 req = urllib.request.urlopen('http://www.baidu.com')
    3 print(req.read())

      read() , readline() , readlines() , fileno() , close() 

      info():返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息。

      getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。

      geturl():返回请求的url。

    urlretrieve(url,filename,reporthook,data)函数 

    下载url定位到的html文件,不写路径filename则会被存为临时文件可以用 urllib.urlcleanup() 来清理缓存

     1 file_name = urllib.request.urlretrieve('http://www.baidu.com','%s/baidu.html'%BASE_DIR) 

    urlencode和parse_qs函数   

    参数的解码和编码函数

    1 import urllib.parse
    2 dic = {'name':'melon','age':18}
    3 data = urllib.parse.urlencode(dic)
    4 
    5 print(data)    

    urlparse和urlsplit函数

    将urlstr解析成各个组件

    1 import urllib.request
    2 import urllib.parse
    3 url = "http://www.baidu.com"
    4 parsed = urllib.parse.urlparse(url)
    5 print(parsed)
    6 #输出:ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='', fragment='')

    urljoin(baseurl,newurl,allowFrag=None)函数  

    将url的根域名和新url拼合成一个完整的url

    1 import urllib.parse
    2 url = "http://www.baidu.com"
    3 new_path = urllib.parse.urljoin(url,"index.html")
    4 print(new_path)
    5 #输出:http://www.baidu.com/index.html

    *******************************************************

  • 相关阅读:
    搭建了一个在线的机器学习webshell检测RESTful API
    CentOS yum 安装RabbitMQ
    python使用pika链接rabbitmq Connection reset by peer 解决办法
    docker image 转换 docker file
    破解微信某游戏
    任务型对话(一)—— NLU/SLU(意图识别和槽值填充)
    KL散度、JS散度、Wasserstein距离
    机器翻译评价指标 — BLEU算法
    文本相似度 — TF-IDF和BM25算法
    Deep Reinforcement Learning for Dialogue Generation 论文阅读
  • 原文地址:https://www.cnblogs.com/garrett0220/p/9456055.html
Copyright © 2011-2022 走看看