python 批量下载 spring 的 xsd

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 批量下载 spring 的 xsd相关的知识,希望对你有一定的参考价值。

#coding=utf-8

import os
import urllib
import urllib2
import re
from bs4 import BeautifulSoup
# 利用 urllib.urlretrieve() 函数进行下载。非常方便

import socket
#超时时间
socket.setdefaulttimeout(5)

# 一个空文件夹
basedir=r"E:\spring".decode(utf-8)
os.chdir(basedir)
host="http://www.springframework.org"

def getFolderName(url):
    pattern = re.compile(r.*/(.*))
    match = pattern.match(url)
    # 返回最后一个 / 后面的字符
    if match:
        return match.group(1)


# 存储spring 的集合
list = [http://www.springframework.org/schema/beans,
        http://www.springframework.org/schema/aop,
        http://www.springframework.org/schema/mvc,
        http://www.springframework.org/schema/p,
        http://www.springframework.org/schema/context,
        http://www.springframework.org/schema/tx
        ]

# 获取页面中的 文件名称
def getFilesByUrl(url):
    #返回列表
    list=[]
    try:
        html = urllib2.urlopen(url)
    except Exception as err:
        print err
    soup = BeautifulSoup(html,"lxml")
    for link in soup.find_all(a):
        fileName = link[href]
        if not fileName.startswith(/) and (fileName.endswith(xsd) or fileName.endswith(/)):
            list.append(fileName)
    return list

list = getFilesByUrl("http://www.springframework.org/schema")
print list
for url in list:
    print url[:-1]
    url = "http://www.springframework.org/schema/"+url[:-1]
    folder = getFolderName(url)
    print folder
    if not os.path.exists(folder):
        os.mkdir(folder)
    files = getFilesByUrl(url)
    print files
    for fileName in files:
        try:
            print url+"/"+fileName
            urllib.urlretrieve(url+"/"+fileName,folder+"/"+fileName)
        except Exception as err:
            print err

 

以上是关于python 批量下载 spring 的 xsd的主要内容,如果未能解决你的问题,请参考以下文章

添加dubbo.xsd的方法

spring-beans-3.1.xsd和spring-beans.xsd的spring xml配置区别

远程代答平台如何实现打码盈利?

Python调用nmap对内网端口批量扫描

spring-beans.xsd 没有定义“本地”。为啥?

怎么配置spring-aop-4.0.xsd