Python HTTP数据下载

可以使用处理ftp或文件传输协议的python模块从serer下载数据。还可以读取数据,然后将其保存到本地系统。需要安装模块ftplib来实现此目的。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
pip install ftplib

提取文件

可以使用getfile方法获取特定文件。此方法将文件的副本从远程系统移动到启动ftp连接的本地系统。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
import ftplib
import sys
def getFile(ftp, filename):
    try:
        ftp.retrbinary("RETR " + filename ,open(filename, 'wb').write)
    except:
        print "Error"
ftp = ftplib.FTP("ftp.nluug.nl")
ftp.login("anonymous", "ftplib-example-1")
ftp.cwd('/pub/') change directory to /pub/
getFile(ftp,'README.nluug')
ftp.quit()

当运行上述程序时,发现文件README.nlug存在于启动连接的本地系统中。

读取数据

在以下示例中,使用模块urllib2读取数据的必需部分,可以将其复制并保存到本地系统中。当我们运行上面的程序时,得到以下输出 :

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
import urllib2
response = urllib2.urlopen('https://www.codebaoku.com/python/spider-test.html')
html = response.read()
print html

执行上面示例代码,得到类似以下结果:

 
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>python spider </title>
</head>
<body>
   Hello,I am codebaoku
   Welcome to Python spider
</body>
</html>

当客户端向服务器发出有效请求时,它们之间将建立一个临时连接以完成发送和接收过程。但是在某些情况下,由于正在通信的程序之间需要自动请求和响应,因此需要保持连接状态。以一个交互式网页为例。加载网页后,需要提交表单数据或下 ...