这两天Google墙得严重,于是就产生了做个一键更新hosts的脚本的想法。
由于正在学习Python,理所当然用Python来写这个脚本了。
接触比较多的就是urllib2这个库,习惯性的import进去了。还要import一个re的库,让Python支持正则表达式。关于正则表达式我研究不多,只会点简单的,如果想了解下正则表达式可以上这个网站http://deerchao.net/tutorials/regex/regex.htm。
Python比较简洁,这里就用到了个写入文件的语法。下面贴上代码。
# coding:utf-8 import re import urllib2 r=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 newlist unique(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 urllib2 content = urllib2.urlopen('http://www.findspace.name/adds/hosts').read() f = open('/private/etc/hosts','w') f.write(content) f.close()
是不是超级简单,哈哈~
来源:https://www.cnblogs.com/bestkayle/p/4213760.html