php爬虫程序_爬虫程序 python_爬虫程序

近期,一起关于爬虫与反爬虫的诉讼案件再次被推到了公众面前。

公交作为互联网从业者的必备通勤工具之一,是出行领域必争的板块。实时公交 APP 也就成为了热门的应用场景爬虫程序,它们不仅可以为用户提供定位、公交路线查询等信息,还涉及路线规划、实时公交信息地理位置等服务。在这其中,“酷米客”和“车来了”是大众使用较为频繁的两款实时公交出行 APP。

php爬虫程序_爬虫程序 python_爬虫程序

“车来了”授意五名程序员爬取实时公交数据,竟构成犯罪行为

2012 年 10 月爬虫程序,深圳谷米科技有限公司推出了酷米客实时公交 APP。通过在公交车上安装定位器,酷米客获得了海量的实时公交位置数据,具有定位精度高、实时误差小等明显优势,并迅速吸引了大批市场用户。目前,酷米客 APP 拥有超过 5000 万的注册量,每日活跃用户超过 400 万。

但是 2015 年 11 月的时候,同为实时公交 APP 的“车来了”为了提升市场份额和信息查询准确度,竟授意五位程序员员工利用爬虫软件获取酷米客公司服务器的公交车行驶信息、到站时间等实时数据。

厉害的是,这五位程序员分工十分明确:一位负责编写爬虫软件程序;一位负责不断更换爬虫软件程序内的 IP 地址,以防止被察觉;一位利用所设置的不同 IP 地址及爬虫程序向酷米客发出数据请求;一位负责破解酷米客客户端的加密算法;在破解失败后,另一位员工又聘请其他公司的技术人员帮忙攻破加密系统,使得爬虫工作得以顺利实施。这一系列数据操作“成效”斐然,帮助“车来了”获取了大量的酷米客实时数据,日均可达 300-400 万条。

花费了巨大人力、时间和经济成本所获得的信息却被同行窃取了,还直接挤压了自身的竞争优势和交易机会,这让酷米客怎么甘心?

一怒之下,2016 年,酷米客将车来了告上了法庭。历时两年之久,这场纠纷案才最终一锤定音。今年 5 月,法院裁定车来了立即停止获取、使用酷米客实时公交位置数据的不正当竞争行为,并赔偿其经济损失。

想必看到这里,大家最为关心的问题是那五位程序员会获罪吗?虽然在诉讼过程中,五位程序员员工利用网络爬虫二次获取公交车辆实时信息的行为都只是因为履行工作职责,没有用于谋取个人私利。然而,酷米客后台服务器存储的数据具有巨大的商业价值,未经其许可,任何人不得非法获取该软件的后台数据并用于经营行为——因此他们必须承担连带责任。

对此,中关村大数据联盟副秘书长陈新河老师告诉 CSDN(ID:CSDNnews),“数据爬虫的违法边界一直是互联网争议的热点,尤其是在大数据时代,随着内容数据价值的日益凸显,爬虫侵权案也越来越多。”身处其中的程序员们,面对上级下发的“爬虫需求”,是难以置身事外的,一不小心可能就入了局。

php爬虫程序_爬虫程序_爬虫程序 python

爬虫犯罪的判定仍不明确,尚处于灰色地带

事实上,爬虫犯罪一直是个难以界定的灰色地带。

网络爬虫是一种自动获取网页内容的程序,通常情况下它是不违法的,比如很多人都会用到的百度搜索,除去其自营的百度知道、百度百科等,几乎都是爬虫采集下来的。作为一门技术,爬虫本身并不违法,所以大多数情况下都可以放心大胆地用。一般而言,常见的爬虫手段包括有构造合理的 HTTP 请求头、设置 cookie、降低访问频率、隐含输入字段值、使用代理等等。

比如 CSDN 此前就曾分享过、、、、等应用数据爬取。但并不是所有数据都有“可爬之机”,陈新河表示,“让不让爬,能不能超越规则之外的爬,能不能用技术手段跨越封锁……这些打擦边球的爬虫就很容易擦枪走火。”——尤其是当站点明确声明禁止爬虫采集或转载商业化,或当网站声明了 Robots 协议时。

Robots 协议也称为爬虫协议、机器人协议,其全称为“网络爬虫排除标准”(Robots Exclusion Protocol)。网站通过 Robots 协议告诉爬虫哪些页面可以抓取,哪些页面禁止抓取。

Robots 协议是搜索引擎行业内公认的、应当被遵守的商业道德。

尽管如此,以身试险的“勇者”仍是不计其数,包括我们耳熟的百度、360 搜索、大众点评、今日头条等:

其实可以预料的是,因为目前监管法律的不完善,仍有很多漏网之鱼。但是随着数据价值的不断挖掘,未来的爬虫侵权案只会越来越多。

php爬虫程序_爬虫程序 python_爬虫程序

第三方网站该如何应对日益猖獗的爬虫行为?

那面对日益猖獗的爬虫行径,作为网站方该如何应对?

既然有“爬虫”,那自然会有“反爬虫”。网站一般采用的反爬虫技术可以分为四个种类:通过 User-Agent 来控制访问、通过 IP 限制来反爬虫、通过 JS 脚本来防止爬虫、通过 robots.txt 来限制爬虫。

下面我们通过几个热门站点分析下常见的反爬虫机制:

一、豆瓣

很多的爬虫新手都会爬取豆瓣来练手,但豆瓣并不是完全开放的态度。它的反爬虫机制如下:

可以看出,豆瓣是一个十分体谅爬虫新手的网站。爬虫者只要在代码中登录账号并降低并发数,再随机延迟等待一段时间,爬虫程序就不会被封。

二、拉勾网

拉勾网最初的反爬虫机制没有现在这么严格,但是随着关注者的增多,网站管理员为了保护服务器增加了一些手段。该网站的反爬虫机制如下:

针对这样的爬虫机制,爬虫者只能使用 IP 代理池来突破。

三、汽车之家

汽车之家论坛的反爬虫机制比较高级,它利用前端页面自定义字体的方式来实现反爬的技术手段。具体使用到是 CSS3 中的自定义字体模块,将自定义的 Web 字体嵌入到了指定网页中去。这就导致在爬取论坛帖子的口碑时,获取到的返回文本中每隔几个字就出现一个乱码符号。

每次访问论坛页面,其中字体不变,但字符编码是变化的。因此,爬虫者需要根据每次访问动态解析字体文件。具体需要先访问爬取的页面,获取字体文件的动态访问地址并下载字体,读取 JS 渲染后的文本内容,替换其中的自定义字体编码为实际文本编码,才可复原网页为页面所见内容。

……

但是,反爬虫不是万能的。“以保护用户数据之名,行数据垄断之实的全面禁止爬取策略也将受到数据经济时代新反垄断法的挑战。”陈新河如是说。

爬虫程序 python_php爬虫程序_爬虫程序

程序员如何在数据爬取中“置身事外”?

但是,技术无罪,那么程序员就该有罪吗?听从上级吩咐写个几行代码就莫名其妙被关起来了?可怕的是不仅一脸懵还无处申冤。

在知乎上,也有很多关于爬虫犯罪的疑问。在“爬虫究竟是合法还是违法的?”()问题下,知乎用户@笔芯设计匠 表示,爬虫开发者的道德自持和企业经营者的良知才是避免触碰法律底线的根本所在:

我们身边的网络已经密密麻麻爬满了各种网络爬虫,它们善恶不同,各怀心思。作为爬虫开发者,如何在使用爬虫时避免进局子的厄运呢?

1. 严格遵守网站设置的 Robots 协议;

2. 在规避反爬虫措施的同时,需要优化自己的代码,避免干扰被访问网站的正常运行;

3. 在设置抓取策略时,应注意编码抓取视频、音乐等可能构成作品的数据,或者针对某些特定网站批量抓取其中的用户生成内容;

4. 在使用、传播抓取到的信息时,应审查所抓取的内容,如发现属于用户的个人信息、隐私或者他人的商业秘密的,应及时停止并删除。

所以,面对上级危险的爬虫请求,程序员们该好好衡量下了。

对于涉及法律风险的数据爬取要求,程序员最好在采集前和上级深聊一下,给后者科普一下其中的法律风险。如果对方仍执意采集,建议事先和公司签署一份免责协议,避免在风险降临时被拉下水。

参考资料:

征稿啦”

CSDN公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系CSDN投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。