#coding:utf-8
'''''
下载google host
修改 系统hosts文件
'''
from requests.packages.urllib3 import request
__author__ = 'halfopen'
from bs4 import BeautifulSoup
from PIL import Image
import urllib2
import sys
import ImageEnhance
import urllib
import cookielib
import re
import os
import platform
import httplib
import time
class GetGoogleHosts:
system_type = u"unknown"
url = u"http://laod.cn/hosts/2015-google-hosts.html"
new_hosts_url = ""
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
headers = {"User-agent": u"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}
UserAgent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36'
def __init__(self):
# 设置 cookie
self.system_type = platform.system()
# 获取最新hosts
def get_new_host(self):
request = urllib2.Request(self.new_hosts_url)
request.add_header('Accept', "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp")
request.add_header('Accept-Encoding', "*")
request.add_header('User-Agent', self.UserAgent)
html = urllib2.urlopen(request).read()
# print html
f = open("hosts", 'wb')
f.write(html)
f.close()
# 获取最新hosts url
def get_new_hosts_url(self):
try:
request = urllib2.Request(self.url)
request.add_header('Accept', "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp")
request.add_header('Accept-Encoding', "*")
request.add_header('User-Agent', self.UserAgent)
print u"------->[I]:download start"
html = str(urllib2.urlopen(request).read())
# print html
# obj = re.match(r'http.*txt', "http://laod.cn/wp-content/uploads/2015/09/20150901-hosts.txt")
obj = re.match(r'.*http://laod.cn/wp-content/uploads/.*-hosts.txt', html)
if obj is not None:
str1 = obj.group(0)
self.new_hosts_url = str1[len(str1)-60:len(str1)]
print u"------->[I]:get new_hosts_url\n\t"+self.new_hosts_url
else:
print u"------->[E]:new_hosts_url do not match"
exit()
except Exception, e:
print e
exit()
finally:
print u"------->[I]:download finished"
# 替换hosts文件
def update_hosts(self):
print u"------->[I]:system platform\n\t"+platform.system()
self.get_new_hosts_url()
self.get_new_host()
# filename = u"hosts.old."+str(time.time())
if platform.system()== u"Windows":
print u"------->[I]:move C:\Windows\System32\drivers\etc\hosts to C:\Windows\System32\drivers\etc\hosts.old"
os.system(u'copy C:\Windows\System32\drivers\etc\hosts C:\Windows\System32\drivers\etc\hosts.old')
print u"------->[I]:copy hosts to C:\Windows\System32\drivers\etc\hosts.old "
os.system(u'copy hosts C:\Windows\System32\drivers\etc\hosts.old')
elif platform.system() == u"Linux":
print u"------->[I]:move /etc/hosts to /etc/"
os.system(u'cp /etc/hosts /etc/hosts.old')
print u"------->[I]:copy new host file to /etc/hosts "
os.system(u'cp hosts /etc/hosts')
else:
pass
if __name__ == u'__main__':
print u"------->"
getGoogleHost = GetGoogleHosts()
getGoogleHost.update_hosts()
# getGoogleHost.update_hosts()
python 更新谷歌hosts
最新推荐文章于 2022-10-10 09:54:20 发布