zoukankan      html  css  js  c++  java
  • OpenWRT镜像爬虫搭建本地源

    网上的爬虫不能用,还是先表达谢意,不过我比较懒不喜欢重复写别人写的教程,只贴出修改,怎么用自己看教程吧。

    我自己改了一版可以正常爬:

    #!/usr/bin/env python
    #coding=utf-8
    #
    # Openwrt Package Grabber
    #
    # Copyright (C) 2016 sohobloo.me
    #
    
    import urllib2
    import re
    import os
    import time
    
    # the url of package list page, end with "/"
    baseurl = 'https://downloads.openwrt.org/snapshots/trunk/ramips/mt7620/packages/'
    
    # which directory to save all the packages, end with "/"
    time = time.strftime("%Y%m%d%H%M%S", time.localtime())
    savedir = './' + time + '/'
    pattern = r'<a href="([^?].*?)">'
    cnt = 0
    def fetch(url, path = ''):
        if not os.path.exists(savedir + path):
            os.makedirs(savedir + path)
        print 'fetching package list from ' + url
        content = urllib2.urlopen(url + path, timeout=15).read()
        items = re.findall(pattern, content)for item in items:
            if item == '../':
                continue
            elif item.endswith('/'):
                fetch(url, path + item)
            else:
                cnt += 1
                print 'downloading item %d: '%(cnt) + path + item
                if os.path.isfile(savedir + path + item):
                    print 'file exists, ignored.'
                else:
                    rfile = urllib2.urlopen(baseurl + path + item)
                    with open(savedir + path + item, "wb") as code:
                        code.write(rfile.read())
    
    fetch(baseurl)
    
    print 'done!'

    修改内容:

    1. 增加了一级当前时间格式的根目录

    2. 修改正则,过滤无效的地址(问号开头)

    3. 改为递归爬目录结构

    另外很高兴Python知识终于可以用了,撒花。


    想更新截图失败,博客园看上去是要死了。

  • 相关阅读:
    [Alpha]Scrum Meeting#5
    [Alpha]Scrum Meeting#6
    [Alpha]Scrum Meeting#4
    [Alpha]Scrum Meeting#3
    【Beta阶段】第三次Scrum Meeting
    [技术博客]基于动态继承类、WebDriver的浏览器兼容性测试框架搭建
    【Beta阶段】第二次Scrum Meeting
    【Beta阶段】第一次Scrum Meeting
    [技术博客] 较科学的排名算法介绍与实现
    [技术博客]数据库的评测与选择
  • 原文地址:https://www.cnblogs.com/sohobloo/p/5837313.html
Copyright © 2011-2022 走看看