我正在努力完成以下...
我得到了一个 Pandas 数据框,它有许多条目,用 DatetimeIndex 索引,看起来有点像这样:
bro_df.info()
<class 'bat.log_to_dataframe.LogToDataFrame'>
DatetimeIndex: 3596641 entries, 2017-12-14 13:52:01.633070 to 2018-01-03 09:59:53.108566
Data columns (total 20 columns):
conn_state object
duration timedelta64[ns]
history object
id.orig_h object
id.orig_p int64
id.resp_h object
id.resp_p int64
local_orig bool
local_resp bool
missed_bytes int64
orig_bytes int64
orig_ip_bytes int64
orig_pkts int64
proto object
resp_bytes int64
resp_ip_bytes int64
resp_pkts int64
service object
tunnel_parents object
uid object
dtypes: bool(2), int64(9), object(8), timedelta64[ns](1)
memory usage: 528.2+ MB
Run Code Online (Sandbox Code Playgroud)
我感兴趣的是获取该数据的一部分,该数据采用最后一个条目,在本例中为 2018-01-03 09:59:53.108566',然后从中减去一个小时。这应该给我最后几个小时的条目。
到目前为止我尝试做的是以下内容:
last_entry = bro_df.index[-1:]
first_entry = …Run Code Online (Sandbox Code Playgroud) 我目前正试图在Centos 5主机上使用Openssl 1.0.2h编译Python 2.7.12.
原因是我需要Paramiko 2才能在这台主机上运行,但这不支持系统提供的OpenSSL版本,即0.9.8e-fips-rhel5 2008年7月1日.
我在这里找到了一些很好的提示和技巧,但它似乎没有用.我现在发布这个,希望有人会发现我做错了什么/错过了什么.
对于OpenSSL设置,我已完成以下操作:
OPENSSL_ROOT="$HOME/.build/openssl-1.0.1e"
cd /tmp
curl http://www.openssl.org/source/openssl-1.0.2h.tar.gz | tar zxvf -
cd openssl-1.0.2.h
mkdir -p "$OPENSSL_ROOT"
./config no-hw --prefix="$OPENSSL_ROOT" --openssldir=...
make install
Run Code Online (Sandbox Code Playgroud)
然后因为我不想用2.7.12替换系统安装的Python我已经完成了以下操作:
首先,我将/ usr/local/lib添加到/etc/ld.so.conf并运行ldconfig.
之后我跑了:
cd /tmp
wget http://python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
tar xf Python-2.7.12.tar.xz
cd Python-2.7.12
./configure CPPFLAGS="-I$OPENSSL_ROOT/include" LDFLAGS="-L$OPENSSL_ROOT/lib" --prefix=/usr/local --enable-unicode=ucs4 --enable-shared
make && make altinstall
Run Code Online (Sandbox Code Playgroud)
这是我认为我已经针对新版本的OpenSSL进行编译但是没有,正如您从输出中看到的那样:
[root@an-host openssl-1.0.2h]# python2.7 -c "import ssl; print ssl.OPENSSL_VERSION"
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
Run Code Online (Sandbox Code Playgroud)
而且我确信我正在运行新编译的版本,因为这是在这里回应:
[root@an-host openssl-1.0.2h]# python2.7
Python 2.7.12 (default, Aug 1 2016, 11:46:42)
[GCC 4.1.2 20080704 …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试使用 Ubuntu 的RSS feed自动解析 Ubuntu 的安全声明。我正在使用 feedparser,所以效果很好。我可以获得咨询的标题 (feed.title)、相关链接 (feed.link) 等等。
我现在想做的是进一步解析此输出,以便获取受影响的版本并将其存储以供进一步参考。
以下代码的作用是获取提要并为解析做好准备。它还使用 BeautifulSoup 来解析 feed.summary,这似乎是包含我想要的信息的“占位符”。
import feedparser
from bs4 import BeautifulSoup
ubuntu_url = 'https://usn.ubuntu.com/rss.xml'
feed = feedparser.parse(ubuntu_url)
for post in feed.entries:
soup = BeautifulSoup(post.summary, 'html.parser')
Run Code Online (Sandbox Code Playgroud)
如果我添加“ print(soup.prettify())”,我可以在本节中看到我想要的信息(这是包含其他几个列表元素的更大输出的一部分):
<p>A security issue affects these releases of Ubuntu and its derivatives:</p>
<ul>
<li>Ubuntu 18.04 LTS</li>
<li>Ubuntu 17.10</li>
<li>Ubuntu 16.04 LTS</li>
<li>Ubuntu 14.04 LTS</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
当然,这个列表会有不同的长度,从只有一个版本向上。正如这个不同的例子所示:
<p>A security issue affects these releases of Ubuntu and its derivatives:</p>
<ul>
<li>Ubuntu 18.04 LTS</li>
</ul> …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试使用 Python 2.7 中的 Folium 在 Leaflet.js 中生成热图。我想我可能会错误地获取 long/lat 语法以正确呈现它。
csv 文件具有以下布局:名称、经度、纬度
例子:
incident1,-1.44986889,-48.48197937
incident2,-1.37189305,-48.44008189
Run Code Online (Sandbox Code Playgroud)
我写的代码是这样的:
import folium
import csv
from folium import plugins
heatmap_map = folium.Map(location=[51.67109, -1.28278], zoom_start=2)
with open('/tmp/geolocation.csv','rb') as f:
reader = csv.reader(f)
for row in reader:
data = ([row[1]], [row[2]])
hm = plugins.HeatMap(data)
heatmap_map.add_children(hm)
f.close()
heatmap_map.save("/tmp/heatmap.html")
Run Code Online (Sandbox Code Playgroud)
程序运行,保存文件,但当我在浏览器中加载它时,我看不到任何热图。我已经验证我可以创建位置标记,因此它可以按预期加载地图。
恐怕我对 Leaflet.js 的了解不够,无法对生成的 html 文件中的代码进行故障排除。
任何人都可以在这里帮助我并显示数据变量中可能有什么问题,或者可能是遍历我的 csv 文件以生成必要的热图的更好方法吗?
提前致谢
我已经用'pip2.7 install docker-compose'安装了docker-compose但是当我尝试将它作为'普通'用户运行时,我收到以下错误消息:
mike@hugin:~/Tobedeleted$ docker-compose -v
Traceback (most recent call last):
File "/usr/local/bin/docker-compose", line 7, in <module>
from compose.cli.main import main
File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 17, in <module>
from . import errors
File "/usr/local/lib/python2.7/dist-packages/compose/cli/errors.py", line 10, in <module>
from docker.errors import APIError
File "/usr/local/lib/python2.7/dist-packages/docker/__init__.py", line 2, in <module>
from .api import APIClient
File "/usr/local/lib/python2.7/dist-packages/docker/api/__init__.py", line 2, in <module>
from .client import APIClient
File "/usr/local/lib/python2.7/dist-packages/docker/api/client.py", line 11, in <module>
from .build import BuildApiMixin
File "/usr/local/lib/python2.7/dist-packages/docker/api/build.py", line 9, in <module>
from .. import …Run Code Online (Sandbox Code Playgroud)