资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

python编写下载函数,Python下载方法

python 2.7 urlopen 函数,如何提高下载速度.

可以使用多进程或多线程并发下载。其实你的方法已经是多进程的一种了。

10年积累的做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有大洼免费网站建设让你可以放心的选择与我们合作。

python中有多进程模块multiprocessing和多线程multithreading。

思路是这样,将需要下载的连接送入队列,然后各个进程(或线程)从队列里拿任务然后下载。前面的两个类库都提供进程、线程安全的队列。

楼下给了个多线程的示例,这里我给一个稍微复杂点的进程的示例。其实线程和进程库的接口基本是一致的。

#!/usr/bin/env python

# encoding=utf-8

# test.py

from multiprocessing import Queue, Process

from Queue import Empty

import urllib

import time

urls = [line.strip() for line in open('urls.txt')]

queue = Queue(1024)

for url in urls:

queue.put(url)

def download():

while True:

try:

url = queue.get()

f = urllib.urlopen(url)

r = f.read()

# 这里保存你下载的文件

except Empty:

time.sleep(5)

except Exception, e:

print 'download error: %s' % e

for i in range(10):

p = Process(target=download)

p.start()

p.join()

使用方法:编辑一个文件urls.txt,每行一个url。然后:

nohup ./test.py 

结束进程则需要找到它的进程号,然后kill -9

望采纳,谢谢支持!

怎么把Python ftplib 中下载文件名写成函数?

拼装后作为参数:

cmd = 'RETR ' + name()

frp.retrbinary(cmd, file_handel, bufsize)

如何设置python 中函数 urlretrieve 下载文档,5秒没有下载完成就跳出执行下一次的下载?

给你一段代码吧。

import socket

socket.setdefaulttimeout(5.0)

import urllib

urllib.urlretrieve(url,filename)

通过socket类设置全局的超时。

请教如何用python下载文件到本地

知道文件的url地址就用urllib模块的urlretrieve函数。urllib.urlretrieve(url,

filename)filename是要保存到本地的文件名。函数后面还有2个可选参数,要用就看帮助文档吧。多线下载的话,每一线程要指定下载服务器上文件的哪一块。http协议中head里可以指定Range。下面用的是urllib2模块request

=

urllib2.Request(url)request.add_header("Range",

"bytes=%d-%d"%(1024,

204)

#指定下载文件的范围opener

=

urllib2.build_opener()data

=

opener.open(request).read()现在data里面就是文件的1024字节到2048字节的内容。

python编写程序的一般步骤

链接:

提取码:dfsm

Python 编程高手之路。本课程分五个阶段,详细的为您打造高手之路,本课程适合有一定python基础的同学。

用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站就是Python写的。总之就是能干很多很多事。

课程目录:

第一阶段

第一章:用户交互

第二章:流程控制

第三章:数据类型

第四章:字符编码

第五章:文件处理

第二阶段

第六章:函数概述

第七章:闭包函数

......


网站标题:python编写下载函数,Python下载方法
本文网址:http://cdkjz.cn/article/hscige.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220