首页 > 代码库 > 用Python写的简单脚本更新本地hosts

用Python写的简单脚本更新本地hosts

这两天Google墙得严重,于是就产生了做个一键更新hosts的脚本的想法。

由于正在学习Python,理所当然用Python来写这个脚本了。

接触比较多的就是urllib2这个库,习惯性的import进去了。还要import一个re的库,让Python支持正则表达式。关于正则表达式我研究不多,只会点简单的,如果想了解下正则表达式可以上这个网站http://deerchao.net/tutorials/regex/regex.htm。

Python比较简洁,这里就用到了个写入文件的语法。下面贴上代码。

# coding:utf-8import reimport urllib2r=urllib2.urlopen(‘http://googless.sinaapp.com‘).read()link_list = re.findall(‘1\d+.\d+.\d+.\d+‘ ,r)newlist = []def unique(oldlist):	for x in oldlist:		if x not in newlist:			newlist.append(x)	return newlistunique(link_list)f = open(‘/private/etc/hosts‘,‘w‘)for each_link in newlist:	f.write(each_link+‘    ‘+‘www.google.com‘+‘\n‘)f.close()

  后来我看到有个朋友在他的博客上一直在更新好用的hosts,索性不用正则表达式,一股脑把他的那个网页给爬下来了,嘿嘿

import urllib2content = urllib2.urlopen(‘http://www.findspace.name/adds/hosts‘).read()f = open(‘/private/etc/hosts‘,‘w‘)f.write(content)f.close()

  是不是超级简单,哈哈~

用Python写的简单脚本更新本地hosts