1.前两天为了搭建OpenStack,安装的时候总是出现错误,我想了一下,每个安装包开始的时候都是可以下载的,但是下载着就会出现错误,而且下载速度超级慢,所以,我就猜测可能是由于外国的服务器到国内速度太慢了。
2.可是国外到国内速度太慢了怎么解决呢?刚开始我想到了直接在国内找一个OpenStack源,这样就可以不用麻烦了,直接就可以用了,但是事情出乎意料,怎么找都找不到OpenStack的yum源,普通的yum源倒是很多。那怎么办呢?
3.我就去网上花了18块钱买了一个vps,打算自己搭建vpn服务器,可是如果自己一步步搭建这个速度太慢了,自己不想太麻烦,最近只想能用就行。
4.百度到一个快速搭建服务器的方法,开始搭建,速度的确很快,几分钟就搞定了。
5.我用自己的pc主机测试了一下连接,可以连接上,感觉速度还行,访问Facebook什么的都不是很卡。
6.我就应用在服务器上,但是坑爹的事情发生了,明明在pc机上可以用,但是一到服务器上访问网站就打不开了,我猜测可能没有弄好
7.我打开cmd,输入tracert检测路由,看一下路径和dns解析是否正确,结果测试了一下路径这些完全正确,可就是网页打不开。
8.没办法,我猜测可能是由于连接了多重的vpn(因为学校的网络设置,所以我连接了2个vpn来绕开学校的计费系统)导致网速,数据发包等问题
9.想来想去,还是觉得自己建一个yum源
10.可是建立yum发现官网的源是https协议的,不能用ftp进行连接。如果要一个个慢慢下载那还不下的累死。
11.所以我就去网上寻找可以把一个页面所有的url里的数据下载下来的工具。
12.百度了一下发现迅雷那些都可以,结果去实验了一下,发现有点坑爹只是几个字母的组合可以,其他的全站的数据包貌似不行。
13.想了一下去百度慢慢找,还不如自己写一个python的脚本,这样可以不用自己手动去抓,运行脚本放在那里就好,比较方便。
14.自己写了一个脚本,然后运行抓取数据。开始在本地测试,总是出现写
import urllib con=urllib.urlopen('https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/').read() tail=con.find(r'repodata/</a>',0) while con.find(r'<a href=',tail)>0: title=con.find(r'<a href=',tail) start=con.find(r'="',title) tail=con.find(r'">',start) filename=con[start+2:tail] url="https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/"+filename print url content=urllib.urlopen(url).read() openfile=open(filename,"wb") openfile.write(content) openfile.close() else: print "it is end!"
原文地址:http://blog.csdn.net/dapeng0112/article/details/40652043