zoukankan      html  css  js  c++  java
  • 获取web.py上面的示例code

    import requests
    import re
    import os.path
    
    #取得文件名和内容对应字典
    def getCode(url):
        pattern=re.compile(r'<hd>([^<]+)?</hd>
    *<pre><code>[^<]*</code>{1}?',re.S)
        dic={}
        r=requests.get(url)
        if r.status_code==200:
            for g in re.finditer(pattern,r.text):
                dic[g.group(1)]=g.group(0)
        return dic
            
    #输出到文件中
    def saveFile(saveDir,dic):
        if not os.path.isdir(saveDir):
            os.makedirs(saveDir)
        for key in dic:
            print key,dic[key]
            #
            outPath=saveDir
            fileName=key
            rIndex=key.rfind("/")
            if rIndex!=-1:
                outPath=outPath+"\"+key[:rIndex]
                fileName=key[rIndex+1:]
                if not os.path.isdir(outPath):
                    os.makedirs(outPath)
            outFile=open(outPath+"\"+fileName,'w')
            beginIndex=dic[key].find("<code>")
            endIndex=dic[key].find("</code>")
            if beginIndex==-1 or endIndex==-1:
                print "<code> have not"
                return
            subs=dic[key][beginIndex+6:endIndex]
            outFile.write(subs)
            outFile.close()
    
    url1='http://webpy.org/skeleton/0.3'
    url2='http://webpy.org/src/blog/0.3'
    url3='http://webpy.org/src/todo-list/0.3'
    url4='http://webpy.org/src/wiki/0.3'
    
    urls=(url1,url2,url3,url4)
    
    for url in urls:
        #取得文件名和内容对应字典
        dic=getCode(url)
        #相对目录不变
        proPath=url.replace("http://","\").replace("/","\")
        #保存根目录设定在【f:pyworkspace】下
        saveFile(r'f:pyworkspace'+proPath,dic)
  • 相关阅读:
    Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
    mysql 索引
    C++ 后台进程 daemon
    Linux进程状态
    实现一个简单的shared_ptr
    [LeetCode] Factorial Trailing Zeroes
    完美转发
    排序
    每天五个java相关面试题(7)--线程篇
    程序员为什么会淡忘?
  • 原文地址:https://www.cnblogs.com/zwm512327/p/3499841.html
Copyright © 2011-2022 走看看