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="([^\?].*?)">‘

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)
    cnt = 0
    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知识终于可以用了,撒花。



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

时间: 2024-10-10 07:21:05

OpenWRT镜像爬虫搭建本地源的相关文章

通过ISO镜像简单搭建本地yum仓库

在一次安装软件过程中,需要依赖包,但是这个依赖包没有在原先的ISO源里面.因为下载的系统包有CD1跟CD2,检查后发现所需的rpm包在CD2里面,直接配置CD2为yum源时缺需要CD1里面的rpm包.最后想了个办法,用软连接把两个ISO的包合并后得到一个完整的安装源. 在一台机器上配置后,可以在这台服务器上搭建http服务器,把它当作一个内网的yum仓库使用.通过目录区分不同版本的yum源,简化并统一内网服务器的yum源配置. 一.原始的yum配置. [[email protected] ~]#

oracle linux 4.8搭建本地源

使用oracle linux 4.8安装oracle 10g rac时需要安装许多依赖包,一个一个比较麻烦.搭建个本地源比较简单,比以往的的oracle linux 5和6都要复杂一些. 1.下载安装createrepo软件 下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/3259698/dir/redhat_el_4/com/createrepo-0.4.6-1.el4.rf.noarch.rpm.html [[email protected]

第 3 章 镜像 - 020 - 搭建本地 Registry

Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的. 安全原因很多组织不允许将镜像放到外网. 解决方案就是搭建本地的 Registry. 在 Docker Hub 上也有官方的镜像 registry.我们可以在 Docker 中运行自己的 registry. 启动 registry 容器 1 [email protected]:~

通过镜像快速搭建本地yum源

工作中,我们难免会遇到内网环境的服务器,而我们部署服务的时候又必须yum一些依赖来进行服务部署.在无法上网的情况下本地yum源就可以完美的解决这些问题. 前期准备,机器上有centos镜像 (需要强调比如本身系统是 Centos6.2的话.所需要的镜像一定要大于等于此版本) 开始配置 cd /etc/yum.repos.d rm -f * touch cdrom.repo vim cdrom.repo cdrom.repo的文件内容如下 [GuangPan]name=CentOS-$releas

CentOS6.5使用createrepo搭建本地源

首先在本地创建一个存放rpm包的目录,我这里选择直接在/下创建,你可以自定义: [[email protected] ~]# mkdir /yumload [[email protected] ~]# cd /yumload/ [[email protected] yumload]# pwd /yumload 接下来把两张DVD中的Packages中的rpm包全部拷贝到/yumload: [[email protected] yumload]# cp /media/CentOS_6.5_Fina

redhat5.5 快速搭建本地源

1.mount /dev/cdrom  /mnt/cdrom2. cd /etc/yum.repos.d3. vi server.repo并添加下列内容:  [base]name=serverbaseurl=file:///mnt/cdrom/Serverenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release4.yum makecache

centos使用iso搭建本地源

适用于无法上网的机器 mount -t iso9660 -o loop /root/CentOS-6.5-x86_64-bin-DVD1.iso /mnt cd /etc/yum.repos.d cp CentOS-Base.repo CentOS-Base.repo.bak vi CentOS-Base.repo baseurl=file:///mnt gpgcheck=0 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 后面的一律删掉

centos 搭建本地YUM源并使用apache共享YUM源

搭建本地YUM源 1.挂载镜像 2.搭建本地YUM源 删除多余repo文件保留一个就行 本地YUM源就搭建好了 yum repolist 查看yum源 3.使用apache共享YUM源 YUM服务器配置 安装apache 重启apache 查看是否能看访问,成功后就行下一步 apache默认文件夹在/var/www/html 我们创建一个/var/www/html/CentOS/并讲镜像挂在上去 访问http://192.168.1.100/CentOS能够成功看见文件yum共享就完成了 配置y

建立本地源

搭建本地源 一.   建立本地源的原因 在Linux系统上,安装软件大体上分为三种方法 ①下载源码包 ②下载编译好的软件包 ③通过软件源安装 在上述三种方式中,第一种方案过程过于繁琐,需要下载源码,检查编译环境,执行编译,执行安装,可能过程中我们会遇到很多麻烦,所以一般不用,只用在特殊场合,当我们需要定制程序时才会自己进行自定义编译(比如编译内核时,剔除自己不需要的模块等等),对于第二种方式,当我们下载软件包进行安装时,我们可能会遇到各种依赖无法解决或者过于繁琐,譬如我们下载了a软件需要安装,发