Python实现115网盘自动下载的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python实现115网盘自动下载的方法。分享给大家供大家参考。具体实现方法如下:

实例中的1.txt,是网页http://bbs.pediy.com/showthread.php?t=144788另存为1.txt

通过每3秒钟复制一个下载链接到粘贴板,复制时会自动调用115客户端下载,每下载10个文件会手工输入一个字符,防止一下下载太多,卡死机器

具体代码如下:

import re, os, time
import webbrowser
import urllib
  
if __name__ == "__main__":
  fp = open("c:\\1.txt")
  
  https = re.compile(r"(http://u.*)")
  urlList = []
  for url in https.findall(fp.read()):
    urlList.append(url)
  
  downloadUrlList = []
  IsFirst = 1
  print urlList
  for url in urlList:
    doc = urllib.urlopen(url).read()
    reDownloadUrl = re.compile(r'(http://115.com/file/.*)"')
    for downloadUrl in reDownloadUrl.findall(doc):
      if IsFirst:
        downloadUrlList.append(downloadUrl)
        IsFirst = 0
    IsFirst = 1
    #print "-"*20
  
  for url in downloadUrlList:
    print url
    
  import win32clipboard
  import win32con
  def copyToClipboard(copyText):
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(win32con.CF_TEXT, copyText)
    win32clipboard.CloseClipboard()
    
  #downloadUrlList = ["http://115.com/file/cmlirmfo","http://115.com/file/ew7htcjc","http://115.com/file/cm25l95e","http://115.com/file/atn8dsgj","http://115.com/file/b3e0ae5k","http://115.com/file/cm27rs3g","http://115.com/file/cmkwjpa1","http://115.com/file/ew4sx25c","http://115.com/file/d2b1alj8","http://115.com/file/b3c29o48","http://115.com/file/ew8ctkyc","http://115.com/file/b3m4ea70","http://115.com/file/atcph3md","http://115.com/file/ew9fw53a","http://115.com/file/cm512ct1","http://115.com/file/ewx7d35c","http://115.com/file/at8nd5xj","http://115.com/file/ewcs6jbj","http://115.com/file/b3104ve1","http://115.com/file/b3b1koke","http://115.com/file/d2st6pv6","http://115.com/file/atb20b6h","http://115.com/file/b353salz","http://115.com/file/atzilrkp","http://115.com/file/cmg35and","http://115.com/file/cmq5ceje","http://115.com/file/atkdb5oc","http://115.com/file/d297u2v6","http://115.com/file/ataqteic","http://115.com/file/cm7ralmz","http://115.com/file/cm70v4nr","http://115.com/file/cmfhr2so","http://115.com/file/atvtkaja","http://115.com/file/b3t7b6aw","http://115.com/file/atoyp4iz","http://115.com/file/ewpk79kj","http://115.com/file/at5k044x","http://115.com/file/d2mo0678","http://115.com/file/a9hegswp","http://115.com/file/bl472ir1","http://115.com/file/dl2dgqi9","http://115.com/file/dl20ky2a","http://115.com/file/bll2yssk","http://115.com/file/a9jzzlca","http://115.com/file/c4z1ek4d","http://115.com/file/blpk4pv1","http://115.com/file/c4rjotdz","http://115.com/file/a9g43daa","http://115.com/file/efnn38jr","http://115.com/file/c4leomjd","http://115.com/file/dlpw9s6i","http://115.com/file/a9n0jv8x","http://115.com/file/c48savoo","http://115.com/file/ef8og8la","http://115.com/file/a9cjk9lx","http://115.com/file/blo38e31","http://115.com/file/a987cika","http://115.com/file/c4vic87g","http://115.com/file/bl5l0syx","http://115.com/file/c4gdl7ne","http://115.com/file/efym0xhy","http://115.com/file/dl88b43f","http://115.com/file/bw4wfxa1","http://115.com/file/eswz3bgj","http://115.com/file/czw0b3g2","http://115.com/file/dis9mjcx","http://115.com/file/ajzrgiyz","http://115.com/file/es5o43lz","http://115.com/file/dnasw0kp","http://115.com/file/dnagnndx","http://115.com/file/clwr2xxg","http://115.com/file/bhbcnnwe","http://115.com/file/aq2rp9ga","http://115.com/file/e601turs","http://115.com/file/dn46qs7x","http://115.com/file/clwonrwg","http://115.com/file/dn43i7jf","http://115.com/file/bhbgrnfz","http://115.com/file/dnsl0kxp"]
  i = 0
  while i<100:
    if len(downloadUrlList) == 0:
      break
    copyToClipboard(downloadUrlList.pop())
    time.sleep(3)
    i = i + 1
    if i % 10 == 0:
      os.system("pause")
  
  print "after pause"

希望本文所述对大家的Python程序设计有所帮助.

相关文章

tornado捕获和处理404错误的方法

Tornado 文档中提到但是这样只能捕获到handlers中列出的路径请求中的错误。 如果只定义了(r"/hello", HelloHandler) 一条规则,那么只能捕获到 /hel...

Python构造自定义方法来美化字典结构输出的示例

Python构造自定义方法来美化字典结构输出的示例

示例: 复制代码 代码如下: d = { "root": { "folder2": { "item2": None, "item1": None }, "folder1": { "sub...

python 实现数字字符串左侧补零的方法

因为做新闻爬虫,url里面0-9的日期要左侧加零。经过查询之后得到了两种方法。 一、先设一个足够大的数,比如1000000,然后加上当前的数字比如9,得到1000009,然后转化为字符串...

Python 转换RGB颜色值的示例代码

题目:转换RBG颜色值 我们知道在网页中的颜色值设置都是用16进制的RGB来表示的,比如#FFFFFF,表示R:255,G:255,B:255的白色。 现在请设计一个函数可以转换RGB...

python中time库的实例使用方法

time是python中处理时间的标准库 计算机时间的表达 提供获取系统时间并格式化输出功能 提供系统级精确计时功能,用于程序性能分析 用法:import time 函...