SDTF--用户画像--进度

整个用户画像(UserProfile)项目中,数据、业务及技术流程图如下所示
在这里插入图片描述

12-18

在这里插入图片描述

1.网站用户数据获取
在这里插入图片描述

需要什么样的数据源

数据源从哪里来

网站数据导出为–txt文件
注册的用户有386个

mysql怎么导入txt文件?

在这里插入图片描述
错误

  • Pandas读取CSV错误:Error tokenizing data. C error: Expected 1 fields in
    line **, saw **

麻了

jyputerlab 上通过csv库进行读取,再遍历,后进行合并:

import pandas as pd
import csv
 
path = '文件所在位置'
 
test = pd.DataFrame()
data = csv.reader(open(path, 'r'))
for d in data:
    # print(d)
    result = pd.DataFrame(d).T
    test = pd.concat([test,result])
test = test.reset_index(drop = True)

1.3

  • 解读

apache日志

# 1-3211.87.152.44- [18/Mar/2005:12:21:42 +0800] “GET / HTTP/1.1200 899 “http://www.baidu.com/” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)

①访问时间;②用户IP地址;③访问的URL,端口;④请求方法(“GET”、“POST”等);
⑤访问模式;⑥agent,即用户使用的操作系统类型和浏览器软件。

数据源层

RDBMS

关系数据库管理系统(Relational Database Management System:RDBMS)

是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。

Hive

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

在这里插入图片描述

创建表单

在这里插入图片描述

数据源

log文件

Users.sql

导出数据:

select * from users;

在这里插入图片描述

  • 参考

日志分析方法概述 & Web日志挖掘分析的方法

3.4 进度

mysql 启动方式

cmd

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql -u root -p
密码 123456

在这里插入图片描述

配置GUI界面 Datagrip

在这里插入图片描述

安装配置
最新DataGrip2020.2.x破解版激活码的步骤详解(支持Mac/Windows/Linux)

log 数据分析

一个好用的文献

基于Web日志的性格预测与群体画像方法研究

日志数据的介绍

日志数据通常用纯文本文件记录用户的访问记录。每条日志文件记录的格式通常为

date time/
c-ip/
cs-username/
s-ip/
s-port/
cs-method/
cs-uri-stem
/cs-uri-query
/sc-staus cs(user-agent)。

选取日志挖掘用到的7个数据进行分析,分别为date time(日期时间)、c-ip(用户IP)、s-port(服务器端口)、cs-method(请求方法)、cs-uri-stem(访问的URL)、sc-staus(应答状态)和cs-uri-stem(用户代理)。

我们的数据

在这里插入图片描述

解析一下:

用户画像技术建模

用户画像技术模型分为数据采集、数据预处理、数据挖掘、用户画像和群体画像5个模块。系统总流程如图 1所示。

在这里插入图片描述

第1步—数据源获取
通过用linux宝塔下载的的Web日志建立原始数据库。
把数据提取行,导入mysql
第2步—数据预处理

首先通过后缀处理、方法过滤、状态码过滤和冗余处理等方法对日志数据进行清洗。

进而通过日志中IP的识别和操作系统的识别来辨别用户身份的唯一性。

然后使用网络爬虫获取每条URL所对应的网页文本,并对获取的原始文本进行分词、去停用词等预处理操作。

第3步----提取用户的属性特征。

通过改进后的TF-IDF算法计算词特征值,将特征值最高的词作为网页文本的关键词。通过K近邻(K nearest neighbor,KNN)文本分类算法对网页文本进行主题归类。

改进—直接按照分区选取关键词

通过提取用户访问页面后的关键词,获得网页的内容主题,进而作为用户的兴趣属性标签。并根据“性格-主题-关键词”模型对用户的性格进行深度预测,获得用户性格属性标签。结合用户识别,对用户进行画像。拥有外倾性、开放性、宜人性和尽责性的用户将被贴上“优良人格”的性格属性标签,对拥有神经质和不良关键词的用户将被贴上“危险人格”的性格属性标签。例如:

输入:111.192.165.229—[19/Sep/2013:06:06:39+0000]“GET/js/google.jsHTTP/1.1“3040” http://blog.fens.me/?p=2445&preview=true“”Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36”。

输出:ID:111.192.165.229;兴趣属性标签:科技;

找code—

code
互联网日志用户行为分析

3.11

log日志切割

访问的ip

‘113.66.225.30’

访问的时间+ 时区

‘[01/Apr/2020:15:10:01’, ‘+0800]’

访问的URL

GET/index.html

网站的请求协议;

'HTTP/1.1

网站返回状态码;

‘200’,

浏览器信息

"Mozilla/5.0’ ‘(Windows’, ‘NT’, ‘10.0;’, ‘Win64;’ ‘x64)’ ‘AppleWebKit/537.36’ ‘(KHTML,’, ‘like’, ‘Gecko)’ ‘Chrome/80.0.3987.149’ 'Safari/537.36

下载ubuntu

Ubuntu 20.04

问题集锦…
win10 WSL2问题决WslRegisterDistribution failed with error: 0x800701bc

新用户name: chy
密码:123456

cat www.satdatafresh.com.log | head -10

在这里插入图片描述

学习 grep、awk

用 / 分割 输出第一部分

统计总行数

wc -l www.satdatafresh.com.log

422216 www.satdatafresh.com.log

统计IP和出现过的次数

 cat www.satdatafresh.com.log | awk -F " " '{print $1}' | awk '{cnt[$0]++}END{for(i in cnt){print i,cnt[i]}}' | tee len1.txt
result = open("C:\\Users\\chen\Desktop\\ip-count.xls", 'w', encoding='gbk')
with open("C:\\Users\\chen\\Desktop\\len1.txt") as f:
    for line in f.readlines():
        line = line.strip(' ')
        line = re.split("\s|-", line)
        for i in range(0,2):
            result.write(line[i])
            result.write('\t')  # '\t'表示每写入一个元素后,会移动到同行的下一个单元格
        result.write("\n")  # 换行操作
        
result.close()
f.close()

结果:

  • 一共用14646个ip访问过网页

在这里插入图片描述

  • 访问1前十名
    在这里插入图片描述

根据状态码进行请求次数排序

 cat www.satdatafresh.com.log | cut -d '"' -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -r

在这里插入图片描述
访问最频繁的URL 前十

数据清洗

筛选出 状态码为 200 的 数据

参考:

awk命令分析日志的简单笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值