Python库详解之网络(1)
刚刚写完Python嵌入部分的简单例子(差不多够现在用的啦~),接着看点实际的东西,如果没有这些应用的话,前面的嵌入也没有什么意义。嵌入的其他部分以后遇到再写,不必一下子把那些函数都弄懂,是吧~
OK,来看Python库中我认为最好玩的一部分,也就是Python对网页的操作。
这篇简单说下如何通过网址下载网页,前提当然是要能上网。
我这里是将网易的网页下下来保存在test.html文件中。
下载网页只需要2行代码:
#注意现在python3.1版本与以前有了很大变化,过去代码好多不能用,需要稍微修改下哦
import urllib.request
urllib.request.urlretrieve('http://www.163.com','test.html') #你们用双引号试下,我这怎么有问题?单引号和双引号在这里有区别么?
呵呵,不是觉得太简单了点,但我还是比较喜欢下面代码多点的实现方式(我没有添加异常,如果是稍微正式点的编码,请添些处理异常的代码吧):
import urllib
import urllib.request
url=urllib.request.urlopen("http://www.163.com")
file=open("test.html",'wb') #it's 'wb',not 'w'
while(1):
line=url.readline()
if len(line)==0:
break
file.write(line)
呵呵,现在是不是感觉下载网页真没意思~
OK,下篇说下如何解析我们下载下来的网页,这样下下来的网页才有用嘛~ ^_^
相关文档:
copy模块用于对象的拷贝操作。该模块非常简单,只提供了两个主要的方法:
copy.copy
与
copy.deepcopy
,分别表示浅复制与深复制。什么是浅复制,什么是深复制,网上有一卡车一卡车的资料,这里不作详细介绍。复制操作只对复合对象有效。用简单的例子来分别介绍这两个方法。
浅复制只复制对象本身,没有复制该对象 ......
python string和PyQt的QString的区别 以下在Python2.6和PyQt4.4.4 for
Python2,6环境下讨论: Python中有两种有关字符的类型:Python string object和Python Unicode
object。主要使用Python string object进行数据输入输出。 PyQt中与之相对应的字符有关类
python string和PyQt的QString的区别
以下在Python2.6和PyQt4 ......
说实话,Python真的不太适合做这种二进制的东西,天生没有指针,导致在C/C++很容易的东西在Python下就很麻烦。不过好像3.1有了原生的bytes类型,不知道能不能改变现状。
import sys
import time
import socket
import struct
import random
def SendPacketData (Buffer = None , DestIP = "127.0.0.1" , DestPort = 0 ......
Python Firewall Win32 (pyfw-win32)
pyfw-win32是一个可用Python脚本开发数据包过滤(防火墙)的模块。底层使用C语言编写的NDIS中间层驱动(NDIS IMD)提供支持,上层提供Python开发接口。可用Python脚本处理所有逻辑问题,而不必关心底层实现,达到快速、灵活开发的目的。
Google 项目托管:
http://code.google.com/p/py ......
学习Python的道路漫漫,光看不练比较无聊。
找了个网页,上面有几道习题,无聊之余拿来练手,还有些乐趣。
是这里:http://www.cnblogs.com/belaliu/archive/2006/11/25/572140.html
注:习题后面贴的代码不一定是最优的。
大部分比较好解决,有点难度的是第4题做去除字符串内的空格的操作。
找了网上的解决方案,有这 ......