def

使用python根据ip获取目标地理位置信息

眉间皱痕 提交于 2020-10-27 18:57:32
信息安全很重要,你的地理位置可能暴露了!!! 使用python和GeoLite2获取目标的地理位置 1 # ! /usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 ''' 5 Created on 2019年12月8日 6 7 @author: Admin 8 ''' 9 10 from copy import copy 11 import optparse 12 import re 13 14 import geoip2.database 15 16 17 reader = geoip2.database.Reader( ' GeoLite2-City.mmdb ' ) 18 19 # 查询IP地址对应的物理地址 20 def ip_get_location(ip_address): 21 # 载入指定IP相关数据 22 response = reader.city(ip_address) 23 24 # 读取国家代码 25 Country_IsoCode = response.country.iso_code 26 # 读取国家名称 27 Country_Name = response.country.name 28 # 读取国家名称(中文显示) 29 Country_NameCN = response.country.names[

python2.7监控flume

自闭症网瘾萝莉.ら 提交于 2020-10-27 09:53:11
由于工作需要,写了python2.7监控flume的功能,下面是干货,希望能帮到大家 #!/usr/bin/env python - - coding: utf-8 - - import datetime,os,sys,time,socket,urllib,json,urllib2,sys import requests #模拟curl http://ip:port/metrics,这里启动时定义是41415,默认是41414 def comm(ip,port,type): url=" http://%s:%s/metrics " %(ip,port) req=urllib2.Request(url) res=urllib2.urlopen(req).read() j=json.loads(res) sink = j["%s"%type]["EventDrainSuccessCount"] return sink sink4_42 = comm("10.1.1.42","41415","SINK.sink4") sink4_43 = comm("10.1.1.43","41415","SINK.sink4") sink4_44 = comm("10.1.1.44","41415","SINK.sink4") sink4_45 = comm("10.1.1.45","41415",

「网易官方」极客战记(codecombat)攻略-森林-博士猫咪-phd-kitty

怎甘沉沦 提交于 2020-10-26 11:33:15
(点击图片进入关卡) 用那只最聪明的美洲狮宠物给农民们留下深刻印象 简介 给小村子里的人带来一场精彩表演吧。 使用 pet.say() 让它回答听到的问题。 别忘了用 pet.on() 指派 sayTwo 给 "hear" 事件作为处理函数。 默认代码 # 教你的宠物回答问题! # 很幸运,所有的答案都是"2" def sayTwo(event): # 使用pet.say()来回答"2" pass # 使用pet:on(),通过sayTwo来处理"hear"事件 # 现在休息并观看表演吧! hero.say("一加一等于…?") hero.say("x^3 - 6x^2 + 12x - 8 = 0. x等于多少?") hero.say("火星有多少卫星?") 概览 教猫咪执行各种特殊技能吧!使用正确答案重新为猫咪编程,通过提出各种问题让观众叹为观止。 def sayApplesauce(event): pet.say("Applesauce") pet.on("hear", sayApplesauce) hero.say("什么由苹果做成?") hero.say("什么被捣碎做成酱汁?") hero.say("一点肉桂能改善什么?") 博士猫咪 解法 # 教你的宠物回答问题! # 很幸运,所有的答案都是"2" def sayTwo(event): # 使用pet.say()来回答

akka-typed(7)

亡梦爱人 提交于 2020-10-26 07:09:51
在使用akka-typed的过程中发现有很多地方都简化了不少,变得更方便了,包括:Supervision,只要用Behaviors.supervise()把Behavior包住,很容易就可以实现这个actor的SupervisorStrategy.restartWithBackoff策略了。然后集群化的group router使用起来也很方便,再就是集群分片cluster-sharding了。下面我们就通过一个例子来介绍cluster-sharding的具体使用方法。 首先,分片的意思是指在集群中多个节点上部署某种actor,即entity,的构建机制。entity的构建是动态的,ClusterSharding系统根据各节点的负载情况决定到底在哪个节点构建entity,然后返回ShardRegion:一个该类entity具体的构建工具及消息中介。也就是说我们可以把同样的一种运算通过entityId指定给任何一个entity,但具体这个entity生存在集群哪个节点上人工是无法确定的,完全靠ClusterSharding引导。先设计一个简单功能的actor,测试它作为一个entity的工作细节: object Counter { sealed trait Command extends CborSerializable case object Increment extends

Bloom Filter实现大数据集查询

自古美人都是妖i 提交于 2020-10-26 05:34:35
Bloom Filter实现大数据集查询 1、什么情况下需要布隆过滤器? 先来看几个比较常见的例子 字处理软件中,需要检查一个英语单词是否拼写正确 在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上 在网络爬虫里,一个网址是否被访问过 yahoo, gmail等邮箱垃圾邮件过滤功能 这几个例子有一个共同的特点: 如何判断一个元素是否存在一个集合中? 常规思路 数组 链表 树、平衡二叉树、Trie Map (红黑树) 哈希表 虽然上面描述的这几种数据结构配合常见的排序、二分搜索可以快速高效的处理绝大部分判断元素是否存在集合中的需求。但是当集合里面的元素数量足够大,如果有500万条记录甚至1亿条记录呢?这个时候常规的数据结构的问题就凸显出来了。数组、链表、树等数据结构会存储元素的内容,一旦数据量过大,消耗的内存也会呈现线性增长,最终达到瓶颈。有的同学可能会问,哈希表不是效率很高吗?查询效率可以达到O(1)。但是哈希表需要消耗的内存依然很高。使用哈希表存储一亿 个垃圾 email 地址的消耗?哈希表的做法:首先,哈希函数将一个email地址映射成8字节信息指纹;考虑到哈希表存储效率通常小于50%(哈希冲突);因此消耗的内存:8 * 2 * 1亿 字节 = 1.6G 内存,普通计算机是无法提供如此大的内存。这个时候,布隆过滤器(Bloom Filter)就应运而生

你真知道如何高效用mapPartitions吗?

混江龙づ霸主 提交于 2020-10-25 21:34:57
做过一段时间spark的应用开发的小伙伴都会渐渐发现,很没趣,因为都是调API。那么,真的是没趣吗,还是说你本身没有去深入研究呢?通过本文你就会发现自己没成长是哪的问题了。 浪尖会花一段时间在spark的算子原理分析和高性能使用对比方面的分析,并将这些知识放到浪尖的 知识星球 里。有兴趣的同学扫描底部 二维码 或者点击 阅读原文 加入星球。昨天将spark1.6源码阅读视频已经上传到星球里。 顺便打个广告,浪尖开了知乎,有兴趣的可以关注一下,搜索 浪尖 即可。 1. mappartition粗介 本问主要想讲如何高效的使用mappartition。 首先,说到mappartition大家肯定想到的是map和MapPartition的对比。网上这类教程很多了,以前浪尖也发过类似的,比如 对比foreach和foreachpartition 主要是map和foreach这类的是针对一个元素调用一次我们的函数,也即是我们的函数参数是单个元素,假如函数内部存在数据库链接、文件等的创建及关闭,那么会导致处理每个元素时创建一次链接或者句柄,导致性能底下,很多初学者犯过这种毛病。 而foreachpartition是针对每个分区调用一次我们的函数,也即是我们函数传入的参数是整个分区数据的迭代器,这样避免了创建过多的临时链接等,提升了性能。 下面的例子都是1-20这20个数字

论文怕被查重怎么办?你的降重神器来了

心已入冬 提交于 2020-10-25 16:00:21
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 又到一年毕业季 时值毕业季,有不少小伙伴深受论文查重的困扰。因此我便想到做一个简单的自动去重的工具,先看看效果,我们再对原理或是代码实现做进一步的分析。 首先需要输入appid以及key,这些可以在百度翻译开放平台申请一个账号,可以免费申请一个账号。接着将需要进行降重的文本内容复制到相应的输入框内,点击开始按钮,即可输出不同但意思相近的语句,即达到降重去重的作用。点击复制按钮便可以将得到的新文本复制到剪贴板上,点击清楚按钮可以重新输入需要降重的文本,并且循环往复地进行。 去重原理 论文查重的粒度是句子,两个句子的相似度主要取决于句子包含哪些词,以及词在句子中的位置。句子相似度只是文字上的对比,不考虑语义上的相近。 正因如此,我们可以采取的措施便是变换句子结构,使用近似词替换。 为了完成这些句子的自动替换,从而达到降重的目的,这里很容易便想到利用不同语种之间的互相转换来生成新文本。比如在本工具中,我采用了中文→英文→韩文→中文的策略,你也可以采取更长的转换路径,但那样似乎会在很大程度上降低文本的可读性。 开放平台的使用 语句的翻译我采用了百度翻译开放平台的接口,简单地申请之后就可以获取每个月200万的免费字符翻译权限。 此API的接入方式略微有些麻烦

python调用虹软2.0

て烟熏妆下的殇ゞ 提交于 2020-10-25 11:16:30
第一版踩了无数的坑,终于第二版把坑全添了,这次更新可以正常获取人脸数,角度,代码可读性更高,继续更新中 第三版已发出 https://www.cnblogs.com/wxt51/p/10125460.html face_class.py 1 from ctypes import * 2 #人脸框 3 class MRECT(Structure): 4 _fields_=[(u'left1',c_int32),(u'top1',c_int32),(u'right1',c_int32),(u'bottom1',c_int32)] 5 #版本信息 版本号,构建日期,版权说明 6 class ASF_VERSION(Structure): 7 _fields_=[('Version',c_char_p),('BuildDate',c_char_p),('CopyRight',c_char_p)] 8 #单人人脸信息 人脸狂,人脸角度 9 class ASF_SingleFaceInfo(Structure): 10 _fields_=[('faceRect',MRECT),('faceOrient',c_int32)] 11 #多人人脸信息 人脸框数组,人脸角度数组,人脸数 12 class ASF_MultiFaceInfo(Structure): 13 # _fields_=[(

tensorflow文本分类实战——卷积神经网络CNN

别来无恙 提交于 2020-10-25 05:32:33
首先说明使用的工具和环境:python3.6.8 tensorflow1.14.0 centos7.0(最好用Ubuntu)   关于环境的搭建只做简单说明,我这边是使用pip搭建了python的虚拟环境(virtualenv),并在虚拟环境中安装tensorflow。详细步骤可以查看tensorflow的 官网 。 注:本文参考于 基于tensorflow、CNN、清华数据集THUCNews的新浪新闻文本分类 训练数据   训练(train.txt)和测试(test.txt)数据,两个文件的分类相同为100个分类,其中test.txt每个类下有200条测试数据,train.txt每个类下有1800条训练数据;数据共有两列,第一列为标签信息 第二列为标题,见下图 百度云链接:https://pan.baidu.com/s/1MZX8SOJ7lerov_UqZhSWeQ 提取码:9nvj 训练代码 闲话少说直接上代码,支持训练模型固化,代码粘贴前都经过了测试,均可复现,并且在相应位置给出了注释,有任何疑问欢迎留言,不忙就会回复。 # ##################cnn训练代码################# # coding=utf8 import os import codecs import random import heapq import numpy as np

HTMLTESTRunner自动化测试报告增加截图功能

£可爱£侵袭症+ 提交于 2020-10-25 04:53:03
我们都知道 HTMLTESTRunner自动化测试报告 ,是Unittest单元测试框架报告,那么在做ui测试的时候就有点不适用了。 我们需要出错截图功能。 以下是我改的,增加了截图功能,先展示界面,再展示代码。 概要界面: 展开界面: 代码展示: 以下代码python2.7 和 python3.6两个版本 截图方式: python2: print 'screenshot:' , timestrmap , '.png' 在要截图的位置print就可以了。 python3: print( 'screenshot:' , timestrmap , '.png' ) 原理:展示时通过捕获unittest print中查找字符串“ screenshot: ”;找到就说明有截图,然后截取图片地址,写到html模版src=中。 截图代码: @property def getImage(self): ''' 截取图片,并保存在images文件夹 :return: 无 ''' timestrmap = time.strftime( ' %Y%m%d_%H.%M.%S ' ) imgPath = os.path.join( gl.imgPath , ' %s.png ' % str(timestrmap)) self.driver.save_screenshot(imgPath) print '