山寨其他网站UI的一般性工具

对于我这种网页设计白痴来说,没什么比到处看别的网站并模仿之更好的写网页方法了。但是网站并不是首页html代码就行了,最关键的还是css样式以及各种装饰用图片sprites等。

发现一个好的模板到把好的模板据为己用是很麻烦的:你必须下载所有的css和图片,css和图片的路径可能各不相同并且夹杂着各种绝对与相对路径。这在css比较复杂的站点会繁琐无比,所以写了个小脚本用于批量获取ccs和图片以及改名。

效果:

这个东东理所当然地结合了我上次“python抓站脚本进阶篇”所提到的Fetcher以加快抓取速度,所以会显得略长。

代码在此:

使用方法:存为sitecopy.py,然后类似这样

 python sitecopy.py http://drupal.org

运行完毕会生成一个index.html文件和各种css/js/image文件,分别存放在media文件夹相应目录。

因为偷懒使用了shutil,所以在windows平台下可能会有些问题,懒得改用os.walk了。

这种脚本bug很多是必须的,因为各个网站都会有很奇葩的东东,欢迎留言报告bug。

This entry was posted in python, 站长, 编程 and tagged , , . Bookmark the permalink.

26 Responses to 山寨其他网站UI的一般性工具

  1. Dianso says:

    wget命令就可以了吧

    • observer says:

      确实可以,如果只是为了镜像站点的话
      如果目的是修改的话我觉得不太好使,一是多下载了很多不必要的东西,二是那目录名很纠结的,还得手动改。

  2. Lc says:

    第101行的 get(req,repeat) 应该是 self.get(req,repeat) 吧

  3. 艳文 says:

    好像有个警告,我的py版本是2.5.4的 警告提示:

    C:\Users\admin\Desktop>python site.py http://www.baidu.com
    site.py:115: Warning: 'with' will become a reserved keyword in Python 2.6
    File "site.py", line 115
    with self.lock:
    ^
    SyntaxError: invalid syntax

  4. holin says:

    支持css里面的定义的背景图片抓取吗吗?

  5. sand says:

    你丫真有才:)

  6. coolzilj says:

    为何我抓取到的图片全部都是无效的图片,或者有问题的图片?win系统下

  7. an9 says:

    好东西,懒人专用。吼吼。

  8. efish says:

    python 是用 2.6的比较好,还是3.0的?

  9. ray says:

    File “sitecopy.py”, line 89, in __init__
    t = Thread(target=self.threadget)
    AttributeError: Fetcher instance has no attribute ‘threadget’

    博主,这是啥错哦

  10. Pingback: JingHong's Blog » sitecopy-一个用于山寨网站UI脚本

  11. answer w says:

    博主 大牛啊

  12. eggache says:

    你这个比 ”浏览器网页另存为“ 有什么优势?

  13. 啊啊啊啊 says:

    看了你的视频 感觉你好可爱 哈哈哈 http://www.simplecd.org/static/tutorial.html

  14. Yusky says:

    靠。 博主才真正是一朵奇葩啊。 山寨了个小站。。献丑了。 哈哈http://www.9down.cc

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>