Python论坛  - 讨论区

标题:[python-chinese] 献丑一段Django documents下载代码

2007年07月15日 星期日 04:41

大郎 iexper在gmail.com
星期日 七月 15 04:41:59 HKT 2007

ËäÈ»°³ÖªµÀдµÃºÜÀã¬ÔÙ£¬°³´Óûд¹ýʲôPY´úÂ룬ÿһ´Îд¶¼²»»á³¬¹ý30ÐеĴúÂëÓ¦Óá£
Ìû³öÀ´Èôó¼ÒÅúÆÀ¡£ÕâÊǰ³ÔÚ¿´¡¶Dive in Python¡·Ê±²Î¿¼Ð´µÄ¡£ÐÂÊÖ³õѧ£¬Ï£ÍûµÃµ½´ó¼Ò¶à¶àÖ¸µã£¬ÃâµÃ°³×ßÈëħµÀ¡£:)

# coding: utf-8
#!/usr/bin/env python

import urllib2, httplib
# import time
from openanything import SmartRedirectHandler

class DjangoDocumentDownload:

    target_dir = 'e:\\project\\python\\django\\docment\\files\\'

    httplib.HTTPConnection.debuglevel = 1

    def document_download(self):
        urllist = ['overview', 'install', 'tutorial01', 'tutorial02',
'tutorial03', 'tutorial04',
            'faq', 'documentation', 'model-api', 'db-api', 'transactions',
'templates', 'templates_python',
            'newforms', 'forms', 'sessions', 'cache', 'i18n', 'middleware',
'settings', 'url_dispatch',
            'request_response', 'generic_views', 'authentication',
'add_ons', 'databrowse', 'syndication_feeds',
            'flatpages', 'redirects', 'sites', 'sitemaps', 'webdesign',
            'modpython', 'fastcgi', 'apache_auth',
            'static_files', 'email', 'legacy_databases', 'outputting_pdf',
'outputting_csv'
            ]

        print "\nHTML request start:\n"

        for i in urllist:
            url = 'http://www.djangoproject.com/documentation/'+ i + '/'
            request = urllib2.Request(url)
            request.add_header(
            'User-Agent', 'openanthing/1.0 + Ken.Django.player在China'
            )
            opener = urllib2.build_opener(SmartRedirectHandler)
            try:
                htmldata = opener.open(request).read()
            except:
                print "sorry....'%s' load faild!\n\n" % i
                break
            local_url = self.target_dir + i + '.html'
            try:
                f = open(local_url, 'w')
                f.write(htmldata.replace('http://media.djangoproject.com/',
''))
            except:
                print "sorry! create file faild! please try again!"
                break
            finally:
                f.close()
            htmldata = ''
            print "created file: '.../%s.html'" % i
            # time.sleep(1)

    def css_download(self):
        css_urls = ['base.css', 'print.css']

        print "\nCSS request start:\n"

        for i in css_urls :

            request = urllib2.Request('http://media.djangoproject.com/css/'+i)
            request.add_header(
                        'User-Agent', 'openanthing/1.0 +
Ken.Django.player在China'
                        )
            opener = urllib2.build_opener(SmartRedirectHandler)
            try:
                cssdata = opener.open(request).read()
            except:
                print i, " request faild."
                break

            f = open(self.target_dir +'css\\'+ i, 'w')
            try:
                f.write(cssdata)
            except:
                print i, " write faild!"
                break
            finally:
                f.close()
            print i, " create cuccess!"



if __name__ == '__main__':
    django_go = DjangoDocumentDownload()
    django_go.document_download()
    django_go.css_download()


# ---------------------------------------

# coding: utf-8
#!/usr/bin/env python

import urllib2

class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
    def http_error_301(self, req, fp, code, msg, headers):
        result = urllib2.HTTPRedirectHandler.ttp_error_301(self, req, fp,
code, msg, headers)
        result.status = code
        return result

    def http_error_302(self, req, fp, code, msg, headers):
        result = urllib2.HTTPRedirectHandler.http_error_302(self, req, fp,
code, msg, headers)
        result.status = code
        return result

-- 
ÎÒ×ßµ½Ò»¸öİÉúµÄµØ·½, ¸æËß±ðÈË ÎÒҪȥÁ÷ÀË
Ŷ£¬ÎÒҪȥÁÆÉË¡­¡­

Gtalk: iexper(at)gmail.com
ÓòÃû¹ýÆÚÁË
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070715/bfa44010/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年07月15日 星期日 10:31

Zoom.Quiet zoom.quiet在gmail.com
星期日 七月 15 10:31:43 HKT 2007

On 7/15/07, 大郎 <iexper在gmail.com> wrote:
> 虽然俺知道写得很烂,再,俺从没写过什么PY代码,每一次写都不会超过30行的代码应用。
> 帖出来让大家批评。这是俺在看《Dive in
嗬嗬嗬,有分享就有进步
> Python》时参考写的。新手初学,希望得到大家多多指点,免得俺走入魔道。:)
>
> # coding: utf-8
> #!/usr/bin/env python
>
> import urllib2, httplib
> # import time
> from openanything import SmartRedirectHandler
>
> class DjangoDocumentDownload:
>
>     target_dir =
> 'e:\\project\\python\\django\\docment\\files\\'
>
>     httplib.HTTPConnection.debuglevel = 1
>
>     def document_download(self):
>         urllist = ['overview', 'install', 'tutorial01', 'tutorial02',
> 'tutorial03', 'tutorial04',
>             'faq', 'documentation', 'model-api', 'db-api', 'transactions',
> 'templates', 'templates_python',
>             'newforms', 'forms', 'sessions', 'cache', 'i18n', 'middleware',
> 'settings', 'url_dispatch',
>             'request_response', 'generic_views', 'authentication',
> 'add_ons', 'databrowse', 'syndication_feeds',
>             'flatpages', 'redirects', 'sites', 'sitemaps', 'webdesign',
>             'modpython', 'fastcgi', 'apache_auth',
>             'static_files', 'email', 'legacy_databases', 'outputting_pdf',
> 'outputting_csv'
>             ]
>
>         print "\nHTML request start:\n"
>
>         for i in urllist:
>             url =
> 'http://www.djangoproject.com/documentation/'+ i + '/'
>             request = urllib2.Request(url)
>             request.add_header(
>             'User-Agent', 'openanthing/1.0 + Ken.Django.player在China'
>             )
>             opener = urllib2.build_opener(SmartRedirectHandler)
>             try:
>                 htmldata = opener.open(request).read()
>             except:
>                 print "sorry....'%s' load faild!\n\n" % i
>                 break
>             local_url = self.target_dir + i + '.html'
>             try:
>                 f = open(local_url, 'w')
>                 f.write(htmldata.replace(' http://media.djangoproject.com/',
> ''))
>             except:
>                 print "sorry! create file faild! please try again!"
>                 break
>             finally:
>                 f.close()
>             htmldata = ''
>             print "created file: '.../%s.html'" % i
>             # time.sleep(1)
>
>     def css_download(self):
>         css_urls = ['base.css ', 'print.css']
>
>         print "\nCSS request start:\n"
>
>         for i in css_urls :
>
>             request = urllib2.Request('
> http://media.djangoproject.com/css/'+ i)
>             request.add_header(
>                         'User-Agent', 'openanthing/1.0 +
> Ken.Django.player在China'
>                         )
>             opener = urllib2.build_opener(SmartRedirectHandler)
>             try:
>                 cssdata = opener.open(request).read()
>             except:
>                 print i, " request faild."
>                 break
>
>             f = open(self.target_dir +'css\\'+ i, 'w')
>             try:
>                 f.write(cssdata)
>             except:
>                 print i, " write faild!"
>                 break
>             finally:
>                 f.close()
>             print i, " create cuccess!"
>
>
>
> if __name__ == '__main__':
>     django_go = DjangoDocumentDownload()
>     django_go.document_download()
>     django_go.css_download()
>
>
> # ---------------------------------------
>
> # coding: utf-8
> #!/usr/bin/env python
>
> import urllib2
>
> class SmartRedirectHandler( urllib2.HTTPRedirectHandler):
>     def http_error_301(self, req, fp, code, msg, headers):
>         result =
> urllib2.HTTPRedirectHandler.ttp_error_301(self, req, fp,
> code, msg, headers)
>         result.status = code
>          return result
>
>     def http_error_302(self, req, fp, code, msg, headers):
>         result =
> urllib2.HTTPRedirectHandler.http_error_302(self, req, fp,
> code, msg, headers)
>         result.status = code
>         return result
>
> --
> 我走到一个陌生的地方, 告诉别人 我要去流浪
> 哦,我要去疗伤……
>
> Gtalk: iexper(at)gmail.com
> 域名过期了
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>


-- 
'''Time is unimportant, only life important!
http://zoomquiet.org
blog在http://blog.zoomquiet.org/pyblosxom/
wiki在http://wiki.woodpecker.org.cn/moin/ZoomQuiet
scrap在http://floss.zoomquiet.org
douban在http://www.douban.com/people/zoomq/
____________________________________
Pls. use OpenOffice.org to replace M$ Office.
     http://zh.openoffice.org
Pls. use 7-zip to replace WinRAR/WinZip.
     http://7-zip.org/zh-cn/
You can get the truely Freedom 4 software.
'''

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号