首页 理论教育 高校图书馆OPAC搜索日志解析实践

高校图书馆OPAC搜索日志解析实践

时间:2023-11-05 理论教育 版权反馈
【摘要】:OPAC搜索日志的关键信息在HttpReferer中,如“searchtype=Y”表示用户的查询类型编码为“Y”,“searcharg=java”表示用户查询的字段为“java”。利用Python提供的日期转化工具库,可以很容易地将OPAC日志中的访问日期格式转成目标格式。表5-2OPAC解析后字段格式在解析过程中,需要注意字符编码问题。在对OPAC搜索日志的HttpReferer进行解析过程中,可以发现有的searcharg字段的值型如%E4%BA%BA%E6%80%A7%E7%9A%84%E5%BC%B1%E7%82%B9,而有的字符型如{u9053}{u6559}{u6CD5}{u575B}/t{215c36}{214244}{21472a}{213864},难以阅读。

高校图书馆OPAC搜索日志解析实践

OPAC搜索日志的关键信息在HttpReferer中,如“searchtype=Y”表示用户的查询类型编码为“Y”,“searcharg=java”表示用户查询的字段为“java”。查询类型编码与对应的含义如表5-1所示:

表5-1 HttpReferer对应含义

为了使数据便于统一处理,将每条记录解析成如下的格式:

访问IP年-月-日时:分:秒 搜索类型 搜索字段

本文使用Python编程语言进行OPAC日志处理。利用Python提供的日期转化工具库,可以很容易地将OPAC日志中的访问日期格式转成目标格式。同时,利用Python正则工具库,编写如下的正则表达式:(www.xing528.com)

rsearcht ype=(?P<t ype>\w)&searcharg=(?P<string>.+?)(?=&)

可以将用户的搜索类型和搜索字段解析出来。我们在“5.1搜索日志介绍”中给出的日志经解析后,得到的字段如表5-2所示。

表5-2 OPAC解析后字段格式

在解析过程中,需要注意字符编码问题。在对OPAC搜索日志的HttpReferer进行解析过程中,可以发现有的searcharg字段的值型如%E4%BA%BA%E6%80%A7%E7%9A%84%E5%BC%B1%E7%82%B9,而有的字符型如{u9053}{u6559}{u6CD5}{u575B}/t{215c36}{214244}{21472a}{213864},难以阅读。前一种情况是url编码问题,只需利用Python的urllib库便可将其解码,后一种情况是浏览器对中文字符进行了unicode编码,利用Python的字符处理工具对其先进行unicode解码,然后再进行utf-8编码,就能得到可读的字符。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈