背景
53客服可以根据聊天内容搜索到具体访客数据,但是只能一条一条来,更不用说开放什么api了。在做数据分析中除了要统计转换外,无效分析也是必须的,然而客服反馈回来的无效往往只有电话号码。这里更难受的又来了,53下载下来的数据只有关键词、咨询页面等信息,并不包含电话。。。所以无法直接vlookup。
好在天无绝人之路,53提供html下载的数据包含聊天内容,可以通过html提取出对应留言信息的ip地址,然后和excel版本的数据整合;也可以直接在html中提取所有需要的数据。
python提取53关键信息
- 下载53的html数据后,提取所有的ip、时间放入数组;
- 然后整理出每个访客的对话内容,清除换行、空格等干扰信息;
- 逐行读取无效电话内容,如果对话内容包含,则是无效,输出对应ip 时间,到数组;
- 导出结果。
# -*- coding: utf-8 -*- import pandas as pd from bs4 import BeautifulSoup path = input('输入文件名: ') path = path + '.html' with open(path, 'r',encoding='UTF-8') as f: Soup = BeautifulSoup(f.read(), 'lxml') table=Soup.find('table').find_all('tr') i=0 j=0 ips=[] tms=[] dhs=[] jg=[] for ttr in table: try: tds=ttr.find_all('td',class_="td_0") ip=tds[11].get_text().replace('\n','').replace('\r','').replace('\r\n','') time=tds[3].get_text().replace('\n','').replace('\r','').replace('\r\n','') ips.append(ip) tms.append(time) i=i+1 except: pass worker_msgs=Soup.find_all('tr',class_="worker_msg") dh=open("dh.txt", 'r',encoding='UTF-8') for line in dh.readlines(): l=list(line.split()) dhs.append(l) for ttr in worker_msgs: uu=ttr.get_text() uu = uu.replace('\n','').replace('\r','').replace('\r\n','') for dh in dhs: if dh[0] in uu: l=[dh[0],ips[j],tms[j]] jg.append(l) print (l) j=j+1 name=['info','ip','time'] test=pd.DataFrame(columns=name,data=jg) print(test) test.to_csv('ip_jmk_time.csv',encoding='UTF-8')
vlookup使用方法
VLOOKUP函数是Excel中的一个纵向查找函数,功能是按列查找,最终返回该列所需查询序列所对应的值;与之对应的HLOOKUP是按行查找的。详细使用方法:
https://baike.baidu.com/item/VLOOKUP函数/
=VLOOKUP(F925,I:K,3,0)
这里通过电话号码查询,返回无效资源的ip地址,现在客服反馈的无效资源就包含了电话,无效原因,和ip地址。
无效分析
1、初级分析,通过vlookup函数利用ip将无效原因输出到53excel版本的数据中,满足基本的时间段或者是地域的无效分析。
优点:操作简单
缺点:重复操作,分析内容有限
2、加入数据模型,系统分析关键词、搜索词、单元、计划、时间、地域的无效情况。
优点:分析全面,一次解决
缺点:初次操作难度较高
万物复苏的季节,各个行业也都加大广告投放,苦了我们广大sem优化人员。随着广告投放力度的增强,竞价人员面临的问 […]
在power query中导入包含ip的无效资源数据ip_jmk,然后在转换数据中使用List.Contains函数,标记转化是否是无效。
= Table.AddColumn(重命名的列4, "是否无效", each if List.Contains(ip_jmk[ip],[ip]) then "是" else null) List.Contains({1,2,3,4},3) true
List.Contains指示列表 list 中是否包含值value,返回逻辑值。
其实也不难,不过是开始找这个函数找了好久,本人小白 翻遍Power Query M 函数才找到这个可以利用的function。