自动配置Google Hosts脚本
发布时间:2020-05-25 16:55:39 所属栏目:Python 来源:互联网
导读:自动配置Google Hosts脚本
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 #!/usr/bin/env python
# encoding=utf8
from HTMLParser import HTMLParser
import os
import requests
import shutil
__author__ = 'sofn'
urlpath = "http://www.360kb.com/kb/2_150.html"
hostsBack = "/etc/hosts_back"
hosts = "/etc/hosts"
class MyHTMLParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.hosts = []
self.got = False
self.start = False
self.onehost = {}
self.first = False
def handle_startendtag(self,tag,attrs):
if tag == "br" and len(attrs) == 0:
self.got = True
self.first = True
def handle_data(self,data):
data = data.strip()
if self.got and self.start and data:
if self.first:
self.onehost["ip"] = data
self.first = False
else:
self.onehost["host"] = data
self.hosts.append(self.onehost)
self.onehost = {}
if not self.start and data.startswith("#google hosts"):
self.start = True
if self.start and data == "#google hosts 2015 end":
self.start = False
if __name__ == "__main__":
text = requests.get(urlpath).text
hp = MyHTMLParser()
hp.feed(text)
hp.close()
datas = hp.hosts
if not os.path.exists(hostsBack):
print("backup hosts")
shutil.copy(hosts,hostsBack)
else:
if os.path.exists(hosts):
os.remove(hosts)
hostsFile = open(hosts,"a")
with open(hostsBack) as f:
print("write base")
hostsFile.write(f.read())
hostsFile.close()
hostsFile = open(hosts,"a")
for one in datas:
ip = one.get("ip")
host = one.get("host")
if ip and host and len(ip.split(".")) == 4:
print("append " + str(ip) + " " + str(host))
hostsFile.write(ip + " " + host + "n")
hostsFile.close()
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
