urllib库的常用方法,urllib库功能

  urllib库的常用方法,urllib库功能

  Urllib是Python提供的用于操作URL的模块。在Python2中。x,既有Urllib库,也有Urllib2库,但是在最新的Python3中。x,Urllib2合并成Urllib,这是我们抓取网页时经常用到的。

  升级后,包在模块中的位置有很多变化。以下是一些常见的变化:

  Python2中使用了Import urllib2。在python 3.x中使用了x和import urllib.request和urllib.error。

  Python2中使用了Importurlib。python 3.x中使用了x和importurlib.request、urlib.error、urlib.parse。

  Python2中使用了Import urlparse。x,并且在python 3.x中使用导入urllib.parse。

  Python2中使用了Import urlopen。x,并导入urllib.request.urlopen在python 3.x中使用。

  Python2中使用了Import urlencode。x,并导入urllib.parse.urlencode在python 3.x中使用。

  Python2中使用了Importurlib.quote。在Python 3.x中使用importurlib.request.quote。

  使用导入cookielib。Python2中的CookieJar。x,并导入http。Python 3.x中的CookeiJar。

  使用导入urllib2。Python2中的Requset。x,并在Python 3.x中使用importurllib2.request.request。

  其中,本文主要介绍了Python3中各个模块的功能。X

  Python3.6.0中的Urllib模块包括以下四个子模块:

  urllibis是一个包,它收集了几个用于处理URL的模块:

  urllib.requestfor用于打开和读取URL

  URL lib . error包含由urllib.request引发的异常

  URL lib . parse用于解析URL

  URL lib . robot parser for parsing robts . txt files

  官方解释如下:

  Urllib模块是URL的一个包。

  Urllib.request用于访问和读取URL。

  Urllib.error包括由urllib.request引起的所有异常

  Urllib.parse用于解析URL。

  Urllib.robotparser用于解析robots.txt文件(网络蜘蛛)

  Urllib.request.urlopen该函数主要用于打开一个URL网页:

  Urlopen一般有三个参数,其参数如下:

  urllib.requeset.urlopen(url,data,timeout)

  # -*-编码:utf-8 -*-

  #获取并打印google首页的html

  导入urllib.request

  response=urllib . request . urlopen( http://www . Google . com )

  html=response.read()

  打印(html)

  Urlopen返回一个类似文件的对象,可以像文件一样操作,支持以下三种方法:

  Info():返回一个对象,表示远程服务器返回的标题信息。

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

  Geturl():返回请求的url地址。

  URL解析

urlparse

  URL解析函数关注于将URL字符串拆分成其组成部分,或者将URL组成部分组合成一个URL字符串。

  URL lib . parse . URL parse(URL string,scheme= ,allow_fragments=True)

  该函数用于将URL解析为六个部分,并返回一个元组。URL的格式为:scheme://net loc/path;参数?查询#片段;它包含六个部分,tuple中的每个元素都是一个字符串,可以为空,而且这六个部分不能再分成更小的部分。

  以下是返回的元组元素:

  元素编号值不存在时的默认值方案

  0请求空字符串路径2层次路径空字符串参数3参数空字符串查询4查询组件空字符串片段5标识符空字符串用户名6用户名无密码7密码无主机名8主机名无端口9端口号无导入urllib.parse

  print(URL lib . parse . URL parse( https://www . zhi Hu . com/question/50056807/answer/223566912 ))

  ParseResult(scheme=https ,netloc=www.zhihu.com ,path=/question/50056807/answer/223566912 ,params= ,query= ,fragment= )

urllib库的常用方法,urllib库功能