资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

地址解析函数python,地址解析算法

urllib.parse在python2.7中怎么用

最新版的python3.3.0已经发布了。相较于python3.0,3.2的改动并不大。但网上的大量的教程等大都以2.x版本为基础。这为想要从python3.0学起的菜鸟带来了不少的困难。 作为一只菜鸟,最近想学习一下python中urllib模块的使用方法。从网上找的最简单的实例:把google 首页的html抓取下来并显示在控制台上 代码:

创新互联是一家专注于成都网站设计、网站制作与策划设计,长兴网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:长兴等地区。长兴做网站价格咨询:18980820575

[python] view plain copy

import    urllib

print    urllib.urlopen('').read()

首先,使用过python3.0的朋友都知道,print已经变成含树了,需要括号。但这不是主要问题。问题是控制台显示错误,说urllib模块中没有urlopen方法。 奇怪了,网上的教程能错了?又尝试help(urllib),发现什么方法都没有,只提供了package contents,里面有5个名字。 

[python] view plain copy

import urllib

help(urllib)

3.0版本中已经将urllib2、urlparse、和robotparser并入了urllib中,并且修改urllib模块,其中包含5个子模块,即是help()中看到的那五个名字。

为了今后使用方便,在此将每个包中包含的方法列举如下:

urllib.error: ContentTooShortError; HTTPError; URLError

urllib.parse: parseqs; parseqsl; quote; quotefrombytes; quote_plus; unquote unquoteplus; unquoteto_bytes; urldefrag; urlencode; urljoin; urlparse; urlsplit; urlunparse; urlunsplit

urllib.request: AbstractBasicAuthHandler; AbstractDigestAuthHandler; BaseHandler; CatheFTPHandler; FTPHandler; FancyURLopener; FileHandler; HTTPBasicAuthHandler; HTTPCookieProcessor; HTTPDefaultErrorHandler; HTTPDigestAuthHandler; HTTPErrorProcessorl; HTTPHandler; HTTPPasswordMgr; HTTPPasswordMgrWithDefaultRealm; HTTPRedirectHandler; HTTPSHandler;OpenerDirector;ProxyBasicAuthHandler ProxyDigestAuthHandler; ProxyHandler; Request; URLopener; UnknowHandler; buildopener; getproxies; installopener; pathname2url; url2pathname; urlcleanup;urlopen; urlretrieve;

urllib.response: addbase; addclosehook; addinfo; addinfourl;

urllib.robotparser: RobotFileParser

---------------------------------------------------------------------------------------------------------

在2.X版本下,打开HTML文档的实例:

[python] view plain copy

import urllib

webURL = ""

localURL = "index.html"

#通过URL打开远程页面

u = urllib.urlopen(webURL)

buffer = u.read()

print u.info()

print "从%s读取了%d 字节数据. " % (u.geturl(),len(buffer) )

#通过URL打开本地页面

u = urllib.urlopen(localURL)

buffer = u.read()

print u.info()

print "从%s读取了%d 字节数据. " % (u.geturl(),len(buffer) )

运行结果如下:

[html] view plain copy

Date: Fri, 26 Jun 2009 10:22:11 GMT

Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_wsgi/2.3 Python/2.5.2

Last-Modified: Thu, 25 Jun 2009 09:44:54 GMT

ETag: "105800d-46e7-46d29136f7180"

Accept-Ranges: bytes

Content-Length: 18151

Connection: close

Content-Type: text/html

从读取了18151 字节数据.

Content-Type: text/html

Content-Length: 865

Last-modified: Fri, 26 Jun 2009 10:16:10 GMT

从index.html读取了865 字节数据.

若要通过urllib模块中的urlopen(url [,data])函数打开一个HTML文档,必须提供该文档的URL地址,包括文件名。函数urlopen不仅可以打开位于远程web服务器上的文件,而 且可以打开一个本地文件,并返回一个类似文件的对象,我们可以通过该对象从HTML文档中读出数据。

一旦打开了HTML文档,我们就可以像使用常规文件一样使用read([nbytes])、readline()和readlines()函数来对文件进行读操作。若要读取整个HTML文档的内容的话,您可以使用read()函数,该函数将文件内容作为字符串返回。

打开一个地址之后,您可以使用geturl()函数取得被获取网页的真正的URL。这是很有用的,因为urlopen(或使用的opener对象)也许会伴随一个重定向。获取的网页URL也许和要求的网页URL不一样。

另一个常用的函数是位于从urlopen返回的类文件对象中的info()函数,这个函数可以返回URL位置有关的元数据,比如内容长度、内容类型,等等。下面通过一个较为详细的例子来对这些函数进行说明。

--------------------------------------------------------------------------------------------------------------------------

在2.X版本下,urlparse使用实例:

[python] view plain copy

import urlparse

URLscheme = "http"

URLlocation = ""

URLpath = "lib/module-urlparse.html"

modList = ("urllib", "urllib2", \

"httplib", "cgilib")

#将地址解析成组件

print "用Google搜索python时地址栏中URL的解析结果"

parsedTuple = urlparse.urlparse(

"?

hl=enq=pythonbtnG=Google+Search")

print parsedTuple

#将组件反解析成URL

print "\反解析python文档页面的URL"

unparsedURL = urlparse.urlunparse( \

(URLscheme, URLlocation, URLpath, '', '', ''))

print "\t" + unparsedURL

#将路径和新文件组成一个新的URL

print " 利用拼接方式添加更多python文档页面的URL"

for mod in modList:

newURL = urlparse.urljoin(unparsedURL, \

"module-%s.html" % (mod))

print "\t" + newURL

#通过为路径添加一个子路径来组成一个新的URL

print " 通过拼接子路径来生成Python文档页面的URL"

newURL = urlparse.urljoin(unparsedURL,

"module-urllib2/request-objects.html")

print "\t" + newURL

运行结果如下:

[python] view plain copy

用Google搜索python时地址栏中URL的解析结果

('http', '', '/search', '',

'hl=enq=pythonbtnG=Google+Search', '')

反解析python文档页面的URL

利用拼接方式添加更多python文档页面的URL

通过拼接子路径来生成Python文档页面的URL  

python有没有类似inet_addr函数

python没有类似inet_addr函数的,python函数列表查询后证实没有该类似的函数

python查看对象内存地址的函数

在python中可以用id()函数获取对象的内存地址。

#例如:

object = 1 + 2

print(id(object)) #4304947776

python小白 想问以下代码是如何实现base64解码的

getUrl(html)函数: 从参数html中查找 "thumb":\\xxxxx形式的字符串,返回xxxx这串字符串,这xxx中包含了jpg的url。

findReplaceStr(url)函数: 查找参数url的.jpg前字符串,即图片名称,返回这个名称的字符串。

getBigImageUrl(url,replaceStr)函数: 处理参数url,把图片地址用参数replaceStr替换为正确的解析地址newurl,并返回这个newurl。

这几个函数通篇没有用到什么base64解码,只使用了正则表达式re模块,你是不是搞错了?

python如何解析url获取host

最近在工作中需要将url的host和path路径分开存储,python内置的 urlparse , 支持我们优雅的解决这个问题, 参考地址

由上文我们可以看到,url被拆分的很细致,提取的方法也很简单,只需要给属性取一个别名,后面跟上解析的key,即可匹配出解析文本。

用python怎么能解析输出ifconfig里具体IP地址?

import socket

hostname = socket.gethostname()  

ip = socket.gethostbyname(hostname)

print ip

这就是本机的IP地址


当前标题:地址解析函数python,地址解析算法
链接URL:http://cdkjz.cn/article/hdicei.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220