1、geoip2库:MaxMind GeoIP2 Python API
作用:返回给出的ip地址的地理信息,包括所在国家、城市、经纬度等,有在线查询和离线查询(本地导入数据库)两种,具体使用参考上面的链接。
2、python第三方库的使用说明一般在:https://pypi.python.org/pypi/下上有其官方链接。
3、IPy库的使用:
(1)官方使用说明:https://pypi.python.org/pypi/IPy/
(2)IP(),当make_net设置为True时,会将给出的"IP地址/子网掩码"返回其网段;
即:>>> print(IP('127.0.0.1/255.0.0.0', make_net=True))
127.0.0.0/8
代码中的说明:“If make_net is True, an IP address will be transformed into the network address by applying the specified netmask.”
3、kafka的使用:
(1)、创建KafkaProducer实例时,传入的初始化参数ack可选值(0,1,“all”)的含义:
参数ack表示当有producer发送数据时,broker(kafka服务器)收到消息后什么时候给该producer发送确认,
0表示不需要发送确认,1表示在这个topic的follower中,只要有一个consumer收到了,broker就发送确认,all表示这个topic的所有follower都接收到后,broker才发送确认
4、MySQLdb:
在MySQL中插入一条记录时,若字段类型为char,当sql语句使用format格式化时,相应字段名应该加单引号(' '),e.g:
insert_tb_sql = "INSERT INTO {table_date} (iType,sSrcIP,sTacticName,iAction,iNumPC,iNumMobile,iTotal,iDate,sMac,sOS) \
VALUES ({iType},'{ip}','{name}',{act},{pc},{mobile},{total},{date},'{mac}','{os}')"
5、MySQLdb安装问题:
在win7 x64下使用pip安装MySQL的Python接口库,即mysql-python(安装后可在Python中导入MySQLdb)时,经常会报以下错误:
解决方法:
(1)、在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python 下载mysqlclient的whl文件(根据安装的Python解释器为2.x还是3.x, 32位还是64位来下载);
(2)、终端切换到上面下载的文件所在路径,然后使用pip install mysqlclient-1.3.13-cp27-cp27m-win32.whl即可(Python 2.x)。
6、user_agents:用于解析user_agent
如果要获取设备的user_agent,可以访问http://www.useragentstring.com/,获取具体当前设备的user_agent信息;