`
acen.chen
  • 浏览: 157282 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Python的网络编程(七)

阅读更多

 

urllib和urllib2


urllib和urllib2的工作大同小异,它们让你能够通过网络访问文件,就像访问自己电脑上的一样。通过简单的函数调用,URL所定位的资源就可以被你作为输入使用到你的程序中。如果再配以re模块,那么你就能够下载Web页面、提取信息、自动创建你所寻找的东西的报告。

urllib2更流行一些。对于简单的下载任务,urllib比较好。如果你需要HTTP验证或cookies,或你想写一些扩展去处理你自己的协议的话,那么urllib2是正确的选择。

一、打开远程文件

打开远程文件的操作和本地差不多,不同的是只能使用读模式,并且使用urllib模块的urlopen:

>>> from urllib import urlopen
>>> webpage=urlopen('
http://www.python.org')


如果你在线的话,变量webpage现在就包含了一个关联Web页:http://www.python.org的文件类对象。
注意:如果你当前没有联网,而你又想练习一下urllib的话,你可以用如下形式访问本地文件:
localpage=urlopen(r'file:c:\test.txt')

由urlopen返回的文件类对象支持close,read,readline,readlines等方法。

下面的代码抽取出了Python官方主页中“Documentation”链接的URL:

>>> import re
>>> text = webpage.read()
>>> m = re.search('<a href="([^"]+)">Documentation</a>', text, re.IGNORECASE)
>>> m.group(1)
'
http://docs.python.org/'


二、获取远程文件

urlopen函数给你一个文件类对象,你可以读取它。如果你使用urlib时只关心下载文件并存储一个复本到本地文件的话,你可以使用urlretrieve替而代之。urlretrieve返回一个元组(filename, headers),filename是本地文件(复本)的名字(它由urllib自动创建),headers包含关于远程文件的一些信息。
如果你想为复本指定一个名字的话,你可以提供第二个参数:
urlretrieve('http://www.python.org', 'C:\\python_webpage.html')
这将获取Python官方主页并存储到本地C:\python_webpage.html中。如果你不指定复本的文件名,那么文件将放到一个临时的地方,你能够使用open函数打开它,如果你要清除这些临时的复本,你可以调用urlcleanup函数而不带任何参数,它将为你完成清除工作。

分享到:
评论

相关推荐

    Python网络编程(Linux)_网络编程_python_linux网络编程_

    Python网络编程在Linux环境下是一个强大的工具,用于构建服务器端应用程序和服务。这个主题涵盖了多个关键知识点,包括基础概念、Python的网络库、套接字编程、并发处理以及在Linux系统中的应用。 1. **网络编程...

    python网络编程基础

    Python网络编程基础是入门Python网络应用开发的重要领域,它涵盖了从基本的网络概念到复杂的网络交互技术。在Python中,网络编程主要涉及TCP/IP协议、HTTP协议、套接字编程、Web服务API调用等多个方面。下面将详细...

    PYTHON网络编程基础

    PYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdf

    python网络编程第3版pdf

    Python是一种功能十分强大的面向对象编程语言,可以用于编写独立程序、快速脚本和复杂应用的原型。作为一种开源软件,Python可以自由获取,而且非常易学易用。本书是Python语言的经典入门读本,由两名顶尖的Python...

    PYTHON网络编程基础.pdf

    Python网络编程是现代软件开发中的重要组成部分,它允许开发者创建能够与互联网交互的应用程序,如Web服务器、客户端应用、数据抓取工具等。本资源"PYTHON网络编程基础.pdf"是针对初学者的一份详尽指南,旨在帮助...

    python网络编程(第三版)

    python网络编程,适用于网络编程方向的同学,书中采用的是python3的代码。

    python 网络编程和网络编程基础

    Python网络编程是现代软件开发中的重要组成部分,尤其在大数据、云计算和物联网等领域的应用日益广泛。本主题将深入探讨Python在网络编程方面的基础知识和实践技巧。 首先,Python的网络编程主要涉及套接字(socket...

    python网络编程.pdf

    python网络编程

    Python网络编程视频.rar

    Python网络编程视频讲解3 ICMP UDP.avi Python网络编程视频讲解10.phon实战avi Python网络编程视频讲解9数据库mp4 Python网络编程视频讲解8Na Python网络编程视频讲解5 SNMP Syslog NTP.avi Python网络编程视频拼解2...

    Python 网络编程 python网络编程 socket

    Python 网络编程_python网络编程_socket Python 网络编程是指使用 Python 语言进行网络通信编程,包括 socket 编程、网络通信协议等方面的内容。下面是对 Python 网络编程的详细介绍: 1. 网络通信的概念 网络...

    Python网络编程基础

    《Python网络编程基础》这本书是Python开发者学习网络编程的重要资源,尤其适合初学者入门。它涵盖了从基础到高级的各种主题,旨在帮助读者深入理解Python在处理网络通信时的各种技术和概念。 首先,书中会讲解...

    python网络编程第三版(中文加英文,还附加网络编程攻略中文版)

    《Python网络编程第三版》是一本深入探讨Python网络编程的权威书籍,中文版与英文版双语对照,为读者提供了更多的学习选择。本书主要面向应用开发者,旨在介绍网络编程的基本概念、Python内置的网络编程模块以及一些...

    Python网络编程视频.zip

    Python网络编程视频讲解1.ARP.avi Python网络编程视频讲解2.ARP IP ICMP.avi Python网络编程视频讲解3.ICMP UDP.avi Python网络编程视频讲解4 DNS DHCP TFTP.avi Python网络编程视频讲解5.SNMP Syslog NTP.avi ...

    PYTHON网络编程基础pdf

    本资源"PYTHON网络编程基础pdf"提供了一个全面的指南,帮助初学者理解和掌握Python网络编程的基础知识。 网络编程主要包括两个方面:客户端编程和服务器端编程。客户端编程涉及创建能够访问网络资源(如网页或API)...

Global site tag (gtag.js) - Google Analytics