有关Python模块内容说明介绍

开发 后端
使用Python语言提供的Python模块,我们就不用借助Web服务器或者Web浏览器就能够解析和处理HTML文档,还可以进行解析处理工作。

Python语言中具有大量优秀的库可以被直接调用以高效地完成不同需求的工作,这里列举一些常见常用的库,和一些Python模块,在Python程序中调用C++开发的扩展功能函数。

本文将详细介绍如何利用Python抓取和解析网页。首先,我们介绍一个可以帮助简化打开位于本地和Web上的HTML文档的Python模块。后,我们论述如何使用Python模块来迅速解析在HTML文件中的数据,从而处理特定的内容,如链接、图像和Cookie等。

最后,我们会给出一个规整HTML文件的格式标签的例子,通过这个例子您会发现使用python处理HTML文件的内容是非常简单的一件事情。通过Python所带的urlparse模块,我们能够轻松地把URL分解成元件,之后,还能将这些元件重新组装成一个URL。当我们处理HTML 文档的时候,这项功能是非常方便的。

  1. import urlparse  
  2.  
  3.   parsedTuple = urlparse.urlparse(  
  4.  
  5.   "http://www.google.com/search?  
  6.  
  7.   hl=en&q=urlparse&btnG=Google+Search")  
  8.  
  9.   unparsedURL = urlparse.urlunparse((URLscheme, \  
  10.  
  11.   URLlocation, URLpath, '', '', ''))  
  12.  
  13.   newURL = urlparse.urljoin(unparsedURL,  
  14.  
  15.   "/module-urllib2/request-objects.html") 

函数urlparse(urlstring [, default_scheme [, allow_fragments]])的作用是将URL分解成不同的组成部分,它从urlstring中取得URL,并返回元组 (scheme, netloc, path, parameters, query, fragment)。注意,返回的这个元组非常有用,例如可以用来确定网络协议(HTTP、FTP等等 )、服务器地址、文件路径,等等。

函数urlunparse(tuple)的作用是将URL的组件装配成一个URL,它接收元组(scheme, netloc, path, parameters, query, fragment)后,会重新组成一个具有正确格式的URL,以便供Python的其他HTML解析模块使用。

函数urljoin(base, url [, allow_fragments]) 的作用是拼接URL,它以第一个参数作为其基地址,然后与第二个参数中的相对地址相结合组成一个绝对URL地址。函数urljoin在通过为URL基地址附加新的文件名的方式来处理同一位置处的若干文件的时候格外有用。

需要注意的是,如果基地址并非以字符/结尾的话,那么URL基地址最右边部分就会被这个相对路径所替换。比如,URL的基地址为Http://www.testpage.com/pub,URL的相对地址为test.html,那么两者将合并成如果希望在该路径中保留末端目录,应确保URL基地址以字符/结尾。

下面是上面几个函数的详细一点的用法举例:

  1. Date: Fri, 26 Jun 2009 10:22:11 GMT  
  2.  
  3.   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  
  4.  
  5.   Last-Modified: Thu, 25 Jun 2009 09:44:54 GMT  
  6.  
  7.   ETag: "105800d-46e7-46d29136f7180"  
  8.  
  9.   Accept-Ranges: bytes  
  10.  
  11.   Content-Length: 18151  
  12.  
  13.   Connection: close  
  14.  
  15.   Content-Type: text/html  
  16.  
  17.   从http://www.python.org读取了18151 字节数据.  
  18.  
  19.   Content-Type: text/html  
  20.  
  21.   Content-Length: 865  
  22.  
  23.   Last-modified: Fri, 26 Jun 2009 10:16:10 GMT  
  24.  
  25.   从index.html读取了865 字节数据. 

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

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

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

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

【编辑推荐】

  1. 有关Python系统文件进行介绍指导
  2. 如何正确的使用Python函数
  3. 对Python 构建工具进行详细介绍分析
  4. PythonAndroid浅析Python优势所在
  5. 如何使用Python模块解析配置文件?
责任编辑:chenqingxiang 来源: csdn
相关推荐

2010-02-02 14:54:28

Python语法

2010-02-01 17:11:45

Python 解释器

2010-02-24 17:22:59

Python项目

2010-02-22 14:42:19

Python 控制语句

2010-02-01 16:32:49

Python脚本

2010-02-26 11:20:53

Python应用

2010-03-02 13:51:05

Android开发平台

2010-03-03 17:50:45

Android图形界面

2009-12-25 17:11:40

ADO方法

2010-03-10 11:26:29

交换机配置

2010-02-02 13:05:58

Python代码

2010-02-03 13:27:17

Python 特性

2010-03-01 10:39:18

Python源代码

2010-02-03 17:10:12

Python编写

2010-03-10 16:32:17

光端交换机

2010-02-22 13:20:58

Python中文问题

2010-02-01 18:06:48

Python Edit

2010-02-22 16:16:14

Python语法

2010-02-03 16:03:44

Python系统文件

2010-03-01 15:23:24

Python操作语言
点赞
收藏

51CTO技术栈公众号