Python脚本,自动更新host,添加or更新本机hosts

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2,re,platform

#urlib2抓取网页
def getContent(url, timeout=5):
    content = None
    try:
        res = urllib2.urlopen(url, timeout=timeout)
        content = res.read()
    except urllib2.URLError, e:
        print e.reason
    return content

#字符串查找关键词之前内容
def getMain(content, keychars=‘#google hosts‘):
    pos1 = content.find(keychars)
    pos2 = content.find(keychars,pos1+len(keychars))
    m = content[pos1:pos2+len(keychars)]
    m = m.replace(‘ ‘,‘ ‘)
    r = re.compile(r‘<[\w\s\/]+>‘)
    return r.sub("", m)

#source host url
url = ‘http://www.360kb.com/kb/2_122.html‘
#标示字符串
keychars = ‘#google hosts‘

#获取当前操作系统,判断修改文件路径
syst = platform.system()
if syst==‘Windows‘:
    #windows
    hosts = ‘C:\\Windows\\System32\\drivers\\etc\\hosts‘
else:
    #linux
    hosts = ‘/etc/hosts‘

content = getContent(url, 5)
if content==None:
    exit
hostcontents = getMain(content,keychars)

fp = open(hosts, ‘rb‘)
c = fp.read()
fp.close()

pos1 = c.find(keychars)
if pos1==-1:
    result = c+"\n"*2+hostcontents
else :
    result = c[:pos1]+"\n"*2+hostcontents

fp = open(hosts, ‘wb‘)
fp.write(result)
fp.close()
时间: 2024-09-30 15:36:54

Python脚本,自动更新host,添加or更新本机hosts的相关文章

利用python脚本自动下载ICML会议接受的文章

最近需要下载ICML会议2015年接受的最新的文章,但是到官网一看,那么多的文章,如果我一篇一篇点击下载的话,什么时候是个头呢?于是就想着用python脚本对文章的页面进行处理,得到相关文章的url,然后进行下载. 通过观察ICML会议的Accepted Papers发现,其的结构还是比较整齐的,其中我们需要的信息的代码片段如下: <div class="paper"> <p class="title">Approval Voting and

使用python脚本自动创建pip.ini配置文件

运行一下python代码自动创建pip/pip.ini文件并添加pip源 """ python建立pip.ini.py 2016年4月30日 03:35:11 codegay """ import os ini="""[global] index-url = https://pypi.doubanio.com/simple/ [install] trusted-host=pypi.doubanio.com "

使用python脚本自动测试简单版本

主机使用python脚本对软件进行测试时,需要在主机安装对应的python模块: 1.安装uiautomator模块(ubuntu) sudo apt-get install python-pip pip install uiautomator r如果安装失败 pip install uiautomator -i https://pypi.doubanio.com/simple 2.运行对应的脚本 d(resourceId="com.XXX.XXX.accountcenter:id/cropci

python中对cookie进行添加、更新和删除

进行接口请求时,如果第3个接口请求用到了第1次请求和第2次请求的cookie值,需要把两次的cookie合并 https://blog.csdn.net/titiyufeng/article/details/53182951?locationNum=5&fps=1 原文地址:https://www.cnblogs.com/come202011/p/12129125.html

python脚本——自动推送txt,EXCEL等文件模板

#!/usr/bin/python # -*- coding: utf-8 -*- #此处支持中文字符一定要放在前两行,置后的话不生效,脚本报错#!/usr/bin/env python import smtplib from email.mime.text import MIMEText import string import time import datetime HOST = "mail.xxxxxx.com" #smtp主机地址 SUBJECT_1 = "xxx数

Python脚本自动下载小说

本人喜欢在网上看小说,一直使用的是小说下载阅读器,可以自动从网上下载想看的小说到本地,比较方便.最近在学习Python的爬虫,受此启发,突然就想到写一个爬取小说内容的脚本玩玩.于是,通过在逐浪上面分析源代码,找出结构特点之后,写了一个可以爬取逐浪上小说内容的脚本. 具体实现功能如下:输入小说目录页的url之后,脚本会自动分析目录页,提取小说的章节名和章节链接地址.然后再从章节链接地址逐个提取章节内容.现阶段只是将小说从第一章开始,每次提取一章内容,回车之后提取下一章内容.其他网站的结果可能有不同

第一行python脚本

假设有个python脚本script.py,不管哪种Unix平台,都可以在命令行上通过解释器执行: $ python script.py Unix平台还可以在不明确指定python解释器的情况下,自动执行python解释器,这需要在python脚本的第一行添加如下shell魔术字符串: #!/usr/bin/python 在#!之后写上python解释器的完整路径,通常在/usr/bin或/usr/local/bin目录下.还有一种方法是使用env这个命令,位于/bin或/usr/bin中,它会

Python脚本利用adb进行手机控制的方法

一.  adb 相关命令: 1. 关闭adb服务:adb kill-server 2. 启动adb服务  adb start-server 3. 查询当前运行的所有设备  adb devices 4. 可能在adb中存在多个虚拟设备运行 可以指定虚拟设备运行  -s 虚拟设备名称 5. 重启设备 adb reboot  --指定虚拟设备   adb -s 设备名称 reboot 6. 查看日志  adb logcat  清除日志 adb logcat -c 7. 进入linux shell下 

更新hosts的python脚本

#!/usr/bin/env python # -*- coding:utf-8 -*- #author:mrsimple import sys import urllib import os from shutil import copyfile HOSTS_URL='https://smarthosts.googlecode.com/svn/trunk/hosts' LOCAL_HOSTS='/etc/hosts' def update(): """update host

python脚本实现自动为png类型图片添加@2x后缀

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); 美术们总是忘记或者因为其它