互联网领域,侵权行为频发。作为法律从业者,大家其实都知道,网络平台上发现侵权行为的,网络平台应当在收到通知后,在合理的时间内删除侵权内容,否则需和侵权内容发布者承担连带责任。 法律适用大家都知道,但是在实务当中,难点不在于法律条块,而是证据的采集。尤其是对于一些著名商业公司、名人艺人等,侵权内容往往数量庞大,侵权证据难以汇总和统计。依靠传统的人力手段,低效且不切实际。受制于侵权证据的采集手段,往往传统律师在这一块的表现,往往只能通过一些简单的律师函或声明来进行警告,效果并不显著。接下来,笔者会给大家提供一种新的思路,利用python制作信息自动化采集工具,来进行批量证据的采集和呈现。

首先介绍一下我们今天介绍的技术背景:网络信息自动化采集技术。业界俗称为“爬虫技术”,可以通过多种编程语言编写。python作为一种常用的编程语言,将是今天介绍的主角。

首先要摒除一个误解,19年新闻上曝光了许多“爬虫”技术的负面新闻,其实主要都是业务涉嫌违法,爬虫技术本身是一种自互联网发明起就存在的一种非常常见的技术,主要用于网路信息的自动化采集。当然目前一些商业公司也会利用爬虫技术采集一些竞争对手的商业数据,以从事一些不正当竞争,或者一些侵犯著作权的行为,但是这本身跟“爬虫”技术是没有关系的,关键还是要看你用技术的目的。

“爬虫技术”采集技术说穿了,本质上非常简单,主要通过两个方向采集数据:

第一,通过目标网站返回的网站源数据,进行解析提取,得到我们想要的数据。

第二,通过网站的公开数据接口,直接发送请求,获得服务器传送给前端的数据包。

从这里即使不了解技术的朋友们也可以看出,“爬虫技术”采集的数据,都是网站公开数据。到这里,背景絮叨完了,下面进入主题。


本次的案例我们以娱乐圈红人蔡徐坤作为虚拟案例,假使蔡徐坤是我们的客户,在网络上逐渐流传起各种涉嫌恶搞甚至人格侮辱的视频之后,蔡徐坤请求我们作为其律师,提供法律解决方案。大家都知道蔡徐坤有许多恶搞视频出自B站,接下来我们就以B站为例尝试采集一些侵权证据。本文不在技术实现上呈现太多细节,主要是对python取证的一个演示。

第一步:打开bilibili网站,在搜索框内输入“蔡徐坤”进行搜索。进入到搜索结果页,通过前端调试工具,可以很方便找到网站搜索接口为“https://api.bilibili.com/x/web-interface/search/”,同时发现返回了50页的内容,我们接下来就要采集这50页的内容,从而提供给我们和客户作为参考,哪些侵权哪些不侵权,以及响应的侵权情节。这里因为是演示,我们只采集第一页的内容作为展示。

第二步:编写程序

这里我使用了python+docker模拟浏览器环境的中级懒人爬虫技术,因为对初学者略难,所以不做技术阐述。

    page=1session = requests.Session()target_url = "https://api.bilibili.com/x/web-interface/search/type?context=&search_type=video" "&page="+str(page)+"&order=&keyword=%E8%94%A1%E5%BE%90%E5%9D%A4&duration=&category_id=" "&tids_1=&tids_2=&__refresh__=true&highlight=1&single_column=0&jsonp=jsonp&callback=__jp2"imageUrl="https://search.bilibili.com/all?keyword=%E8%94%A1%E5%BE%90%E5%9D%A4&from_source=nav_search" #&spm_id_from=333.851.b_696e7465726e6174696f6e616c486561646572.10response = requests.get(SPLASH_URL + 'render.png?url=' + imageUrl + '&wait=2.5&render_all=1')#获取页面图片 &width=1000&height=1500with open('pics/caixukun_'+str(page)+'.png', 'wb') as f:f.write(response.content)   #保存截图response = session.get(target_url, cookies=cookies,timeout=(20, 20), verify=False)result=response.text

这里做了两次request请求,第一次请求,获得了当前网页的截图,并保存在我设置的文件夹里,第二次请求,返回接口的格式化数据。

这是第一次请求获得的截图

接口返回的数据是一个函数:__jp2()字符串,把首尾这些字符去掉,就可以得到json字符串,里面除了总的结果数目、页码等一些我们已经知道的参数外,还包含了每个视频的数据:

这个数据就是我们要获取的数据,从上面这张图中,其实大家通过字面意思或者与网站视频详情内容的对比,就可以知道各个字段代表什么含义。我们设置页数为50页,即可获得这50页共一千个视频的类型、视频编号、视频分类、标题、截图、视频连接、标签、上传日期、视频长度、多少人点赞、多少人播放、多少评论等等数据。而这效率是手工远远所不能及的。

到这里,我们基本已经成功了,但是为了下一步的筛选、分析和给客户的呈现,我们可以在做一系列的处理工作。比如,我将所有视频截图都保存在一个文件夹里,用视频编号作为命名。将上图的JSON数据,转化为excel表格,方便自己查看和给客户展示。

第一页内容中所有视频的截图
#encoding:utf-8
import json
import pandas as pdwith open("caixukun_1.txt","r",encoding='utf-8',errors='ignore') as f:data=f.read()
data=data.replace("None",'"none"')
data = data.replace("True", '"true"')
data = data.replace("False", '"false"')data=json.loads(data,strict=False)
result=data['data']['result']
df = pd.DataFrame(result)
df.to_excel("demo1.xlsx", sheet_name="蔡徐坤", index=False, header=True)

通过上面区区数行代码,我将数据转移到了excel表格中

python将数据转换为excel表格

至此,证据的采集和整理工作已经初步完成了。当然了,采集只是一种技术手段,这里并没有下载每个视频,但是通过这种方式已经省去了大量律师前期工作,而且提供了强有力的证据素材。更有实力的情况下,甚至可以通过AI方式,自动分析视频内容来确认内容是否侵权,当然目前笔者的能力还做不到……

这里我们用的是人身侵权案件作为举例,著作权侵权、不正当竞争等应用场景,一样可以通过python来进行搜证。 学会了利用pyhon处理网络侵权 ,是不是小伙伴们今后发律师函的时候,可以附带一张要求删除的视频列表呢,或者在侵权之诉中,有了更加详实的数据基础呢?

作者原创,非经授权拒绝转载,违者必究。

作者:虞元坚 上海正策律师事务所 律师 全栈网络工程师/法律大数据应用领域专家。擅长领域:争议解决与诉讼、与软件开发和互联网相关的知识产权、不正当竞争、经济犯罪、科技产业投融资等。欢迎关注法律大数据公众号,和律师朋友们都在使用的随身工具——律师云助理。

欢迎关注法律大数据公众号和使用律师云助理小程序

python excel 截图_法律行业python高级案例——网络侵权自动化批量取证相关推荐

  1. arcgis批量处理nc文件_法律行业python教程——利用python批量处理文件之批量重命名...

    对法律小伙伴们,尤其是律师助理和做非诉业务的小伙伴们,大量的重复琐碎的文件处理工作是不是常常让人失去工作的兴趣呢? 这里就不得不提到python工具的运用啦,一定要记住编程的思想是什么: 1.制作工具 ...

  2. python对律师的作用_法律行业python教程——利用python批量制作律师函

    最近在给律师同行准备交流的素材,同时在业务上,也遇到一个课题,A顾问公司是我的客户,经常会集中统计拖欠其货款的公司名单,委托我批量发送律师函进行催款.一次做十几二十份律师函,而且重复工作做的耗时且乏味 ...

  3. python excel计算_怎么用python导入excel计算方差

    2017-01-20 回答 读excel要用到xlrd模块,官网安装(http://pypi.python.org/pypi/xlrd).然后就可以跟着里面的例子稍微试一下就知道怎么用了.大概的流程是 ...

  4. python excel对比_日常使用————python对比两个excel表中的数据

    现在有两个相同的数据集的结构,把80年和2000年两个文件夹,文件名是一样的,但文件数据是不一致的80年xls格式存储,2000年使用xlrd读取数据存储在xlsx格式,使用openpyxl读取数据, ...

  5. python vlookup 模糊_如何用python写excel中的vlookup函数?

    1.背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel 一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时 ...

  6. 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

  7. python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新

    项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...

  8. 用python处理excel 数据分析_数据分析---用python处理excel

    安装 pip install xlwings 或者 conda install xlwings 或者为了安装最新版本 conda install -c conda-forge xlwings 1.脚本 ...

  9. python的excel操作_通过实例学习Python Excel操作

    这篇文章主要介绍了通过实例学习Python Excel操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python 读取Excel ? 1 ...

最新文章

  1. 某医院DFT SCSI 300GB *8 RAID5数据恢复成功
  2. vmtouch--the Virtual Memory Toucher
  3. DIY Roomba Virtual Wall
  4. 《转》程序员必须知道的10大基础实用算法及其讲解
  5. 一段时间就回头看看自己走过的路
  6. Codeforces Round #644 (Div. 3)(A-E)
  7. web站点性能测试经验点滴
  8. C++ delete只能用来释放new分配的内存
  9. Java之IO操作总结
  10. linux php c 扩展,linux php添加扩展库
  11. 躲避校园网认证客户端的检测,开启笔记本热点的方法!
  12. python求圆锥体的表面积公式_圆锥表面积公式推导-圆锥表面积的计算公式
  13. Win10关闭安全中心的病毒和威胁实时保护
  14. 解决Win7系统安装时缺少驱动
  15. python基本操作_python的基本操作
  16. matlab 怀特图,怀特异方差检验方法在matlab中的实现,以及广义最.....
  17. mysql columns表_mysql8 参考手册-INFORMATION_SCHEMA COLUMNS表
  18. 12. tie_breaker的使用原因和使用方法
  19. hana数据库连接oracle,HANA SQL参考及Oracle对照
  20. Netbackup for sap 7.0之十五:nbu的错误代码6

热门文章

  1. linux 在端口 1521 连接失败,[转]不能打开到主机的连接, 在端口 1521: 连接失败...
  2. python 全球降水四季空间分布图 居中经线问题
  3. Java学习笔记之三——Java用户登陆界面
  4. 阿里云天池Python训练营
  5. flot介绍与使用(一款开源绘图js插件)
  6. pageHelper分页查询pageNo大于最大页数及小于一返回数据
  7. 数列只有1项用c语言表示,斐波那契数列的通项公式在C语言中如何表达?
  8. mac中sublime替换回车键
  9. i2p源码笔记-KBucketSet.java
  10. 基于矩阵分解的推荐系统