【电子数据取证】如何快速在CSV中找到涉案手机号码

文章关键词:电子数据取证、聊天记录恢复、数据恢复、手机取证、介质取证

一、前言

在最近的取证工作中,我们遇到很多需要从大量的聊天记录数据中提取特定的信息,例如手机号码,银行号码,交易码。由于数据通常以数据库或表格的形式存在,手动复制粘贴并筛选是低效且耗时的。本文将介绍如何利用 Python 高效地从数据库或表格中提取手机号码。

二、案件背景

在这个案件中,目标人通过微信在几十个微信群中进行活动。其中一个微信群引起了关注,因为该群的成员命名方式是"姓名+手机号码",而这些成员每天都在该群中发布他人的手机号码。目前,目标人已经被抓获,调查员使用LX-A200手机取证系统成功固定了他的微信聊天记录,并将其导出为Excel表格。现在,警方希望通过分析这些聊天记录来确定是否存在突破口,并统计群员发送手机号码的情况。

为了高效提取数据,调查员对导出的Excel表格进行了分析。他们发现在聊天内容中直接提取手机号码是困难的,手动复制粘贴并筛选是低效且耗时的工作。因此,需要编写一个Python脚本来实现自动化的数据提取。该脚本将帮助他们快速从聊天记录中提取相关信息,以便进一步分析和调查。

三、Python安装&调试

在开始高效提取数据之前,我们需要确保已经安装了 Python 编程环境,并安装了所需的库和模块。我们推荐使用 Pycharm 作为开发环境,因为它具有智能化的代码提示和调试功能,可以提高开发效率。

我们将使用 Pandas 库来处理表格数据,使用正则表达式模块 re 来匹配手机号码和地址。在 Pycharm 中,我们可以使用 Pandas 库的交互式界面来轻松地导入和清理数据,使用正则表达式模块来匹配手机号码和地址,从而提高数据提取的效率和准确性。

要安装 Pandas 库re 模块,请运行以下命令:

pip install pandas

pip install re

安装完成后,可以使用以下代码来检查是否已经安装成功:

import pandas

import re

print("pandas版本号:" + pandas.__version__)

print("re模块版本号 :" + re.__version__)

如果成功安装,则会出现图1的界面,这里可以看出我的pandas版本是1.5.3,re模块版本号是2.2.1。

图1 安装成功样式

四、数据分析

在编写代码之前,我们需要对处理的表格进行预处理

4.1、预处理:

步骤1:我们需要复制一份表格(以防操作失误,还可以还原)。

步骤2:我们可以删除不需要的列,使数据更加精确且处理时间更快。

步骤3:需要找到所需处理的数据在哪一列,并记住该列的数字,以便后续编写代码时使用。

步骤4:我们需要分析该列中的数据。如果存在以"http://"、"url."等网址开头的数据,则这些数据是无效的,可以选择将这些行删除。对于其他有效数据,我们需要确认数据的格式,并检查是否存在包含两个手机号码的数据。完成这些预处理工作后,我们就可以开始编写代码了。

4.2、代码编写:

在处理大量数据时,我们需要让计算机知道要提取哪些数据?例如下图2中,我们需要把手机号码提取出来。

图2 手机号码样本

我们可以使用前面安装的re模块来匹配数据。re模块是一个正则表达式模块,可以用来匹配字符串中的数据。

在正则表达式中,^表示匹配字符串的开头,$表示匹配字符串的结尾。由于手机号码是以1开头,后面跟着10个数字,因此可以使用正则表达式r'^1\d{10}$'来匹配手机号码。但是,这样会匹配出一些无效的手机号码,因为手机号码的第二位是3-9。因此,我们可以改进正则表达式,使用r'^1[3-9]\d{9}$'来匹配以1开头,第二位是3-9之间的数字,后面跟着9个数字的字符串。这样,我们就可以准确地匹配中国大陆的手机号码了。

完成整个代码最核心的内容后,只需用pandas识别表格内容在加一点判断即可,代码如下图3所示:

图3 代码编写

这里需要提取的数据是在第三列,所以代码中“if len(df.columns) > 2”我写的是2(计算机从0开始计数,即0是1),如果需要提取的数据在第四列,只需2改成3。

4.3、数据结果

代码编写完成后,我们运行下看看结果,如下图4所示:

图4 结图对比

可以看出将有效的手机号码都匹配处理了,不论手机号码在什么位置,或者前面加了什么字符,都是能匹配出来。

五、正则表达式运用

在本次Python取证实战中,我们使用了re模块来编写正则表达式,用于从Excel和CSV表格中提取手机号码。但是这时候需要提取的数据是身份证号码,我们只需要将修改下正则表达式,下面给大家列举一些常用的正则表达式。

  1. 匹配手机号码:r'^1[3-9]\d{9}$'
  2. 匹配邮箱地址:r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$'
  3. 匹配身份证号码:r'^\d{17}[\dXx]$'
  4. 匹配URL地址:r'^https?://[\w-]+(.[\w-]+)+([\w.,@?^=%&:/+#-]*[\w@?^=%&/+#-])?$'
  5. 匹配地址:   IPr'^((25[0-5]|2[0-4]\d|[01]?\d\d?).){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$'
  6. 匹配日期格式:r'^\d{4}-\d{2}-\d{2}$'
  7. 匹配时间格式:r'^\d{2}:\d{2}:\d{2}$'
  8. 匹配中文字符:r'[\u4e00-\u9fa5]'
  9. 匹配英文字符:r'[a-zA-Z]'

10.匹配数字:r'\d'

正则表达式是一个强大的工具,可以用于匹配字符串中的特定模式,从而提取出所需的信息。通过修改正则表达式,我们可以轻松地匹配出不同格式的数据,大大提高数据处理和文本处理的效率和准确性。

六、总结

使用Python高效提取Excel和CSV表格数据是数据分析和处理的重要步骤。通过使用Pandas库和re模块,可以方便地读取和处理表格数据,并进行数据清洗和预处理。在提取表格数据时,需要注意数据类型和格式的一致性、编码格式的一致性、数据缺失和异常值的处理、数据安全性等问题。同时,使用正则表达式提取表格数据时,需要注意正则表达式的语法、数据格式的一致性、正则表达式的效率和可读性等问题。通过注意这些问题,可以确保提取的表格数据准确、可靠、安全,并为后续的数据分析和处理提供便利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统下多网卡多网关设置

场景一: 主机AB得网卡1和网卡2都分别划分在VLAN1和VLAN2中,主机C在VLAN3中,VLAN1,2,3在三层交换设备上配置好网关192.168.1.1 192.168.2.1 192.168.3.1,并开启三层交换功能。 主机A的两块网卡分别IP为192…

Sectigo OV通配符SSL证书多少钱?

在网络安全领域,SSL数字证书起着至关重要的作用,尤其是在保护网站和用户信息方面。而Sectigo OV通配符证书是一种常用的数字证书之一,它能够为同一域名下的多个子域名提供保护,还能够通过企业验证来增强安全性。那么,对…

边缘检测(一)-灰度图像边缘检测方法

灰度图像边缘检测是数字图像处理与机器视觉中经常遇到的一个问题,边缘检测是否连续、光滑是判断检测方法优劣的一个重要标准,下面通过一个实例提供灰度图像边缘检测方法,该方法对其他图像检测也具有一定的参考价值。 首先,读入一幅…

inpaint下载安装2024-inpaint软件安装包下载v5.0.6官网最新版附加详细安装步骤

Inpaint软件最新版是一款功能强大的图片去水印软件,这款软件拥有强大的智能算法,能够根据照片的背景为用户去除照片中的各种水印,并修补好去除水印后的图片。并且软件操作简单、界面清爽,即使是修图新手也能够轻松上手&#xff0c…

雨水情监测系统解决方案

一、系统介绍 水库雨水情自动测报系统辅助水利管理部门实现水库雨水情信息“全要素、全量程、全覆盖”自动测报。系统具备水库水位、雨量、现场图像/视频等水文信息采集、传输、处理及预警广播等功能,有效提升了雨水情信息的时效性和准确度,为保障水库安…

国内docker镜像加速

自己注册一个阿里云或者华为云的账户,搜索镜像 点击开通,再点击镜像加速器,可以看到自己的加速器地址,然后替换就可以了。再去pull即可成功,但是响应还是要慢一点

创建应用程序

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 使用wxPython之前,先来了解两个基础对象:应用程序对象和顶级窗口。 应用程序对象管理主事件循环,主事件循环是wx…

发那科机器人IO 分配

IO 信号 也称为输入\输出信号,是机器人与外围设备通信的电信号

ROS 1的相机驱动代码迁移到ROS 2的方法

为了将ROS 1的相机驱动代码迁移到ROS 2,你需要对代码进行一系列的修改,包括但不限于更新消息类型、API调用和构建系统。 ### 步骤1:更新消息类型 - sensor_msgs/Image和cv_bridge在ROS 2中是可用的,但是确保你使用的是ROS 2版本的…

效率软件大盘点

Hey小伙伴们💕!知道你们都在追求高效工作生活,今天就来给大家种草五款超实用的国产工作App,让你的效率直线上升,再也不怕被工作追着跑啦!🚀 1️⃣ 【亿可达】 - 软件连接器 🔗 作为…

电手出软件啦!各种姿势一键重装你的系统

电手的兄弟们你们好啊,很多兄弟都知道,我们老大傲梅是做软件的,例如大伙儿都用过的傲梅分区助手,还有傲梅轻松备份。相信不少兄弟都是用了分区助手才关注到电手的。 而我们电手,在电脑和手机玩机内容方面一直深耕。 跟…

Linux安装并配置Java

1、Linux操作系统安装Java 1.1、下载Java JDK解压包 官方提供的网址: 选择Linux版本 下载列表选择最后一项,通过解压方式安装 倒数第二项是以rpm方式进行安装,另一篇安装MySQL时就是用到rpm方法。 1.2、解压JDK tar -zxvf jdk-8u411-lin…

软件项目管理概述

1.什么是项目? 2.项目管理的定义 3.项目管理的本质 4.项目成功的标志 5.项目管理的基本方法 6.项目的生命周期(启动 计划 执行 控制 结束) 7.结合生活中的某件事,谈谈项目管理的作用 项目管理在日常生活中扮演着重要的角色&…

CP AUTOSAR标准之LargeDataCOM(AUTOSAR_CP_SWS_LargeDataCOM)

1 简介和功能概述 该规范描述了AUTOSAR基础软件模块LdCom的功能、API和配置。   在AUTOSAR分层架构中,AUTOSAR LdCom模块位于RTE/SwCluC_LdComProxy和PDU路由之间,参见[1,EXP LayeredSoftwareArchitecture]。   AUTOSAR LdCom模块提供了一种替代的交互层机制。通过专注于…

代码随想录算法训练营第二十七天|93.复原IP地址、 78.子集、90.子集II

93.复原IP地址 题目链接:93.复原IP地址 文档讲解:代码随想录 状态:还行,判断字符是否有效卡了好久 思路:通过回溯算法遍历所有可能的分割方式,每个IP地址段必须是0到255之间的整数且不能有前导零&#xff0…

Python 开发者必看,用Flet库打造你的第一个Web应用

大家好,桌面应用程序开发一直是一个热门话题。在python中,使用Tkinter和wxPython虽然功能强大,但它们在现代UI设计和交互体验上显得有些力不从心。而Flet,作为一个新兴的Python库,以其现代化的设计理念和简洁的开发方式…

小程序wx.uploadFile异步问题

问题&#xff1a;小程序上传文件后我需要后端返回的一个值&#xff0c;但这个值总是在最后面导致需要这个值的方法总是报错&#xff0c;打印测试后发现这它是异步的。但直接使用 await来等待也不行。 uploadImg.wxml <view class"upload-wrap"><view clas…

【自撰写】【国际象棋入门】第4课 局面分析初步

第4课 局面分析初步 一、国际象棋的棋局阶段划分 随着对弈的进行&#xff0c;国际象棋棋局可以划分为3个阶段&#xff0c;分别是开局阶段、中局阶段和残局阶段。简单说来&#xff0c;开局阶段主要完成子力的出动和布局&#xff1b;中局阶段涉及到更多的子力协同配合和子力兑换…

镭速是如何做到传输中快速校验大文件的

在信息泛滥的当下&#xff0c;文件传输系统的效率与安全性成为企业和个人用户高度关注的焦点。传统上&#xff0c;文件传输依赖于如MD5或XXHash等单一的完整性校验机制。 然而&#xff0c;在多变的工作环境中&#xff0c;这些传统方法显得不够灵活。镭速&#xff0c;作为大文件…

【尚庭公寓SpringBoot + Vue 项目实战】后台用户信息管理(十七)

【尚庭公寓SpringBoot Vue 项目实战】后台用户信息管理&#xff08;十七&#xff09; 文章目录 【尚庭公寓SpringBoot Vue 项目实战】后台用户信息管理&#xff08;十七&#xff09;1、业务说明2、逻辑模型介绍3、接口开发3.1、根据条件分页查询后台用户列表3.2、根据ID查询后…