python基础教程

来源:互联网 发布:手机淘宝里怎么开网店 编辑:程序博客网 时间:2024/05/16 19:26

第十四章 网络编程

  1. 一个简单的客户机
import sockets = socket.socket()host = socket.gethostname()port = 1234s.bind((host,port))s.listen(5)while True:    c,addr = s.accept()    print 'Got connection from', addr    c.send('Thank you for connection')    c.close()

2.与上述客户机通信的简单的服务器,基于socket模块。

import sockets = socket.socket()host = socket.gethostname()port = 1234s.connect((host,port))print s.recv(1024)

3.一个基于SocketServer的小型服务器

from SocketServer import TCPServer,StreamRequestHandlerclass Handler(StreamRequestHandler):    def handle(self):        addr = self.request.getpeername()        print 'Got connection from',addr        self.wfile.write('Thank you for connecting')server = TCPServer(('',1234), Handler)server.serve_forever()

4.基于多个连接的分叉(forking),线程(threading),使用SocketServer进行分叉。线程处理。

from SocketServer import TCPServer, ForkingMixIn, StreamRequestHandlerclass Server(ForkingMixIn, TCPServer): passclass Handler(StreamRequestHandler):    def handle(self):        addr = self.request.getpeername()        print 'Got connection from', addr        self.wfile.write('Thank for connecting!')server = Server(('',1234), Handler)server.serve_forever
from SocketServer import TCPServer, ThreadingMixIn, StreamRequestHandlerclass Server(ThreadingMixIn, TCPServer): passclass Handler(StreamRequestHandler):    def handle(self):        addr = self.request.getpeername()        print 'Got connection from', addr        self.wfile.write('Thank for connecting!')server = Server(('',1234), Handler)server.serve_forever

5.还有带有select和poll的实现异步通信。只需要监听一会,然后把它放到其他服务器后面排队。

6.Twisted 是一个事件驱动的网络框架,被所有类型的网络软件使用。

7.urllib,urllib2,这些模块可以再给出数据源的url时让不同的服务器读取和下载数据。
7.1 打开远程文件

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

获取远程文件

>>>urlretrieve('http://www.python.org', 'c:\\python_webpage.html')#获取Python的主页放到后面那个html文件中。

第八章 python和web

屏幕抓取

1.下载的tidy插件直接解压进Python的安装目录即可。(把lib等文件直接放到c:/python27下)。