理解软件架构:冰点文库下载器原理与百度文库爬虫
理解软件架构
本文共1187字,主要探索一下下载器的基本原理和百度文库页面组成。
01
冰点文库下载器违法吗?
在使用各种下载工具时,尤其是这种非官方认可的第三方工具时,我们总是会问这样的问题:这种工具违法吗?无论是良心的谴责也好,或者出于尊重平台或者创作者也好,这种发问的初心总是好的。
先说结论,冰点文库下载器并未违法。
但下面这张是冰点文库下载器官方网站给出的唯一答案,百度公司通过种种方式对开发者进行了施压,最终迫使作者放弃维护和下载该软件。
目前该软件仅以个人分享方式进行传播,关注本公众号回复“冰点文库”获取该软件最新绿色无广告版本。
所以为什么不违法?
首先我们首先应当关注一个问题,百度文库平台究竟提供了一种怎样的服务?
存储文档
允许用户上传和下载文档
文档检索
文档在线预览
这些是百度文库的基本功能,其中第4点即为普通用户最为常用且毫无争议的功能,也就是说该功能是开放的。假设用户对着在线预览的文档拍照、保存网页为pdf,然后OCR,最后实现了文档信息本地化的过程,这个过程是否侵犯了某些权利?是的,存在侵犯该文档所有者知识产权的风险,但主要风险承担者是上传该文档的用户,使用该在线文档并未传播的用户具有道德上的风险,但较下面所说的就是小巫见大巫了。
百度文库还提供以下服务(为其主要盈利点):
文档推荐系统(根据你浏览的文档推荐其他文档)
平台VIP服务
平台广告宣传
文档付费服务
自家全家桶应用软推
其中第3点是盈利大头,第1点是违反知识产权保护法的大头,在做不到知识产权合法监管的基础上肆意传播文化知识,这才是真正的违法行为。
所以百度在为了保障其产品平台盈利大头的情况下,必然不会容忍这种减少其平台VIP服务和平台广告收入的软件存在。
因为广告面向的是用户,而不是软件或者计算机。
02
爬虫是否违法?
怎么又回到了违法这个问题上?
不是说搞技术的离法律就很远,只有遵循法律的技术才能长青。(技术见03节)
爬虫禁区1:为违法违规组织提供爬虫相关服务(验证码识别服务贩卖、SEO……)
爬虫禁区2:个人隐私数据抓取与贩卖
爬虫禁区3:利用无版权的商业数据获利
爬虫禁区4:非法获取计算机系统数据和非法侵入计算机信息系统
03
软件的工程原理
首先是冰点文库下载器原理:
在运行软件开始下载后,进行抓包,由于是绿色无广告版本,整个下载文档过程仅有一组TCP连接,即本机-百度文库的云服务器之间的连接,如下图所示。
通过追踪tcp流可以发现,百度文库正常使用https回传用户想访问的网页数据,并没有其他特殊请求。
我们尝试使用浏览器进行一次抓包,对于一个5KB的文档,百度文库页面花费了99%的请求在各种平台服务上,仅1%是调用文档api接口,如图所示。这里没有否定其在平台服务上的功能完善度,只是以数据来说明,为了利益可以多么...
百度文库API如下图所示,可以使用python自行爬虫url。