法律行业python高级案例——网络侵权自动化批量取证

举报
虞元坚律师 发表于 2021/01/26 11:17:39 2021/01/26
【摘要】 互联网领域,侵权行为频发。作为法律从业者,大家其实都知道,网络平台上发现侵权行为的,网络平台应当在收到通知后,在合理的时间内删除侵权内容,否则需和侵权内容发布者承担连带责任。 法律适用大家都知道,但是在实务当中,难点不在于法律条块,而是证据的采集。尤其是对于一些著名商业公司、名人艺人等,侵权内容往往数量庞大,侵权证据难以汇总和统计。依靠传统的人力手段,低效且不切实际。受制于侵权证据的采集手段...

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

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

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

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

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

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

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


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

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

第二步:编写程序

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

    page=1
    session = 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.10
    response = requests.get(SPLASH_URL + 'render.png?url=' + imageUrl + '&wait=2.5&render_all=1')#获取页面图片 &width=1000&height=1500
    with 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 pd

with 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处理网络侵权 ,是不是小伙伴们今后发律师函的时候,可以附带一张要求删除的视频列表呢,或者在侵权之诉中,有了更加详实的数据基础呢?


 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。