1. 利用爬虫技术能做到哪些很酷很有趣很有用的事情
web爬虫,即网络爬虫(又被称为爬虫,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
若有抓取数据的需求,推荐使用操作简单、功能强大的八爪鱼采集器:行业内知名度很高的免费网页采集器,拥有超过六十万的国内外政府机构和知名企业用户。
1、免费使用:免费版本没有任何功能限制,能够实现全网98%以上的数据采集。
2、操作简单:完全可视化操作,无需编写代码,根据教程学习后可快速上手。
3、特色云采集:支持关机采集、自动定时采集,支持高并发获取数据,采集效率高。
4、支持多IP动态分配与验证码识别,有效避免IP封锁。
5、内置各种文档和视频教程,同时还有专业客服人员提供技术支持与服务。
6、新版本可实现实现一键输入网址提取数据、可实现内置APP的数据采集。
7、采集数据表格化,支持多种导出方式和导入网站。
2. 现在的网络爬虫的研究成果和存在的问题有哪些
网络爬虫是Spider(或Robots、Crawler)等词的意译,是一种高效的信息抓取工具,它集成了搜索引擎技术,并通过技术手段进行优化,用以从互联网搜索、抓取并保存任何通过HTML(超文本标记语言)进行标准化的网页信息。
其作用机理是:发送请求给互联网特定站点,在建立连接后与该站点交互,获取HTML格式的信息,随后转移到下一个站点,并重复以上流程。通过这种自动化的工作机制,将目标数据保存在本地数据中,以供使用。网络爬虫在访问一个超文本链接时,可以从HTML标签中自动获取指向其他网页的地址信息,因而可以自动实现高效、标准化的信息获取。
随着互联网在人类经济社会中的应用日益广泛,其所涵盖的信息规模呈指数增长,信息的形式和分布具有多样化、全球化特征,传统搜索引擎技术已经无法满足日益精细化、专业化的信息获取和加工需求,正面临着巨大的挑战。网络爬虫自诞生以来,就发展迅猛,并成为信息技术领域的主要研究热点。当前,主流的网络爬虫搜索策略有如下几种。
>>>>
深度优先搜索策略
早期的爬虫开发采用较多的搜索策略是以深度优先的,即在一个HTML文件中,挑选其中一个超链接标签进行深度搜索,直至遍历这条超链接到最底层时,由逻辑运算判断本层搜索结束,随后退出本层循环,返回上层循环并开始搜索其他的超链接标签,直至初始文件内的超链接被遍历。
深度优先搜索策略的优点是可以将一个Web站点的所有信息全部搜索,对嵌套较深的文档集尤其适用;而缺点是在数据结构日益复杂的情况下,站点的纵向层级会无限增加且不同层级之间会出现交叉引用,会发生无限循环的情况,只有强行关闭程序才能退出遍历,而得到的信息由于大量的重复和冗余,质量很难保证。
>>>>
宽度优先搜索策略
与深度优先搜索策略相对应的是宽度优先搜索策略,其作用机理是从顶层向底层开始循环,先就一级页面中的所有超链接进行搜索,完成一级页面遍历后再开始二级页面的搜索循环,直到底层为止。当某一层中的所有超链接都被选择过,才会基于该层信息检索过程中所获得的下一级超链接(并将其作为种子)开始新的一轮检索,优先处理浅层的链接。
这种模式的一个优点是:无论搜索对象的纵向结构层级有多么复杂,都会极大程度上避免死循环;另一个优势则在于,它拥有特定的算法,可以找到两个HTML文件间最短的路径。一般来讲,我们期望爬虫所具有的大多数功能目前均可以采用宽度优先搜索策略较容易的实现,所以它被认为是最优的。
但其缺点是:由于大量时间被耗费,宽度优先搜索策略则不太适用于要遍历特定站点和HTML文件深层嵌套的情况。
>>>>
聚焦搜索策略
与深度优先和宽度优先不同,聚焦搜索策略是根据“匹配优先原则”对数据源进行访问,基于特定的匹配算法,主动选择与需求主题相关的数据文档,并限定优先级,据以指导后续的数据抓取。
这类聚焦爬虫针对所访问任何页面中的超链接都会判定一个优先级评分,根据评分情况将该链接插入循环队列,此策略能够帮助爬虫优先跟踪潜在匹配程度更高的页面,直至获取足够数量和质量的目标信息。不难看出,聚焦爬虫搜索策略主要在于优先级评分模型的设计,亦即如何区分链接的价值,不同的评分模型针对同一链接会给出不同的评分,也就直接影响到信息搜集的效率和质量。
同样机制下,针对超链接标签的评分模型自然可以扩展到针对HTML页面的评价中,因为每一个网页都是由大量超链接标签所构成的,一般看来,链接价值越高,其所在页面的价值也越高,这就为搜索引擎的搜索专业化和应用广泛化提供了理论和技术支撑。当前,常见的聚焦搜索策略包括基于“巩固学习”和“语境图”两种。
从应用程度来看,当前国内主流搜索平台主要采用的是宽度优先搜索策略,主要是考虑到国内网络系统中信息的纵向价值密度较低,而横向价值密度较高。但是这样会明显地遗漏到一些引用率较小的网络文档,并且宽度优先搜索策略的横向价值富集效应,会导致这些链接量少的信息源被无限制的忽略下去。
而在此基础上补充采用线性搜索策略则会缓解这种状况,不断引入更新的数据信息到已有的数据仓库中,通过多轮的价值判断去决定是否继续保存该信息,而不是“简单粗暴”地遗漏下去,将新的信息阻滞在密闭循环之外。
>>>>
网页数据动态化
传统的网络爬虫技术主要局限于对静态页面信息的抓取,模式相对单一,而近年来,随着Web2.0/AJAX等技术成为主流,动态页面由于具有强大的交互能力,成为网络信息传播的主流,并已取代了静态页面成为了主流。AJAX采用了JavaScript驱动的异步(非同步)请求和响应机制,在不经过网页整体刷新的情况下持续进行数据更新,而传统爬虫技术缺乏对JavaScript语义的接口和交互能力,难以触发动态无刷新页面的异步调用机制并解析返回的数据内容,无法保存所需信息。
此外,诸如JQuery等封装了JavaScript的各类前端框架会对DOM结构进行大量调整,甚至网页上的主要动态内容均不必在首次建立请求时就以静态标签的形式从服务器端发送到客户端,而是不断对用户的操作进行回应并通过异步调用的机制动态绘制出来。这种模式一方面极大地优化了用户体验,另一方面很大程度上减轻了服务器的交互负担,但却对习惯了DOM结构(相对不变的静态页面)的爬虫程序提出了巨大挑战。
传统爬虫程序主要基于“协议驱动”,而在互联网2.0时代,基于AJAX的动态交互技术环境下,爬虫引擎必须依赖“事件驱动”才有可能获得数据服务器源源不断的数据反馈。而要实现事件驱动,爬虫程序必须解决三项技术问题:第一,JavaScript的交互分析和解释;第二,DOM事件的处理和解释分发;第三,动态DOM内容语义的抽取。
前嗅的ForeSpider数据采集系统全方位支持各种动态网站,大部分网站通过可视化的操作就可以获取。对于反爬虫机制严格的网站,通过ForeSpider内部的脚本语言系统,通过简单的脚本语言,就可以轻松获取。
>>>>
数据采集分布化
分布式爬虫系统是在计算机集群之上运转的爬虫系统,集群每一个节点上运行的爬虫程序与集中式爬虫系统的工作原理相同,所不同的是分布式需要协调不同计算机之间的任务分工、资源分配、信息整合。分布式爬虫系统的某一台计算机终端中植入了一个主节点,并通过它来调用本地的集中式爬虫进行工作,在此基础上,不同节点之间的信息交互就显得十分重要,所以决定分布式爬虫系统成功与否的关键在于能否设计和实现任务的协同。
此外,底层的硬件通信网络也十分重要。由于可以采用多节点抓取网页,并能够实现动态的资源分配,因此就搜索效率而言,分布式爬虫系统远高于集中式爬虫系统。
经过不断的演化,各类分布式爬虫系统在系统构成上各具特色,工作机制与存储结构不断推陈出新,但主流的分布式爬虫系统普遍运用了“主从结合”的内部构成,也就是由一个主节点通过任务分工、资源分配、信息整合来掌控其他从节点进行信息抓取。
在工作方式上,基于云平台的廉价和高效特点,分布式爬虫系统广泛采用云计算方式来降低成本,大规模降低软硬件平台构建所需要的成本投入。在存储方式方面,当前比较流行的是分布式信息存储,即将文件存储在分布式的网络系统上,这样管理多个节点上的数据更加方便。通常情况下使用的分布式文件系统为基于Hadoop的HDFS系统。
目前市场上的可视化通用性爬虫,大都牺牲了性能去换取简易的可视化操作。但前嗅的ForeSpider爬虫不是。ForeSpider采用C++编程,普通台式机日采集量超过500万条/天,服务器超过4000万条/天。是市场上其他可视化爬虫的10倍以上。同时,ForeSpider内嵌前嗅自主研发的ForeLib数据库,免费的同时支持千万量级以上的数据存储。
>>>>
通用型和主题型网络爬虫
依据采集目标的类型,网络爬虫可以归纳为“通用型网络爬虫”和“主题型网络爬虫”两种。
通用型网络爬虫侧重于采集更大的数据规模和更宽的数据范围,并不考虑网页采集的顺序和目标网页的主题匹配情况。在当前网络信息规模呈现指数增长的背景下,通用型网络爬虫的使用受到信息采集速度、信息价值密度、信息专业程度的限制。
为缓解这种状况,主题型网络爬虫诞生了。不同于通用型网络爬虫,主题型网络爬虫更专注采集目标与网页信息的匹配程度,避免无关的冗余信息,这一筛选过程是动态的,贯穿于主题型网络爬虫技术的整个工作流程。
目前市面上的通用性爬虫的采集能力有限,采集能力不高,网页结构复杂的页面无法采集。前嗅ForeSpider爬虫是通用型的网络爬虫,可以采集几乎100%的网页,并且内部支持可视化筛选、正则表达式、脚本等多种筛选,可以100%过滤无关冗余内容,按条件筛选内容。相对主题型爬虫只能采集一类网站而言,通用型的爬虫有着更强的采集范围,更加经济合理。
3. 国内外的Hadoop应用现状
文 | 翟周伟
本文节选自《Hadoop核心技术》一书。
Hadoop是一个开源的高效云计算基础架构平台,其不仅仅在云计算领域用途广泛,还可以支撑搜索引擎服务,作为搜索引擎底层的基础架构系统,同时在海量数据处理、数据挖掘、机器学习、科学计算等领域都越来越受到青睐。本文将讲述国内外的hadoop应用现状。
国外Hadoop的应用现状
1.Yahoo
Yahoo是Hadoop的最大支持者,截至2012年,Yahoo的Hadoop机器总节点数目超过42?000个,有超过10万的核心CPU在运行Hadoop。最大的一个单Master节点集群有4500个节点(每个节点双路4核心CPUboxesw,4×1TB磁盘,16GBRAM)。总的集群存储容量大于350PB,每月提交的作业数目超过1000万个,在Pig中超过60%的Hadoop作业是使用Pig编写提交的。
Yahoo的Hadoop应用主要包括以下几个方面:
支持广告系统
用户行为分析
支持Web搜索
反垃圾邮件系统
会员反滥用
内容敏捷
个性化推荐
同时Pig研究并测试支持超大规模节点集群的Hadoop系统。
2.Facebook
Facebook使用Hadoop存储内部日志与多维数据,并以此作为报告、分析和机器学习的数据源。目前Hadoop集群的机器节点超过1400台,共计11?200个核心CPU,超过15PB原始存储容量,每个商用机器节点配置了8核CPU,12TB数据存储,主要使用StreamingAPI和JavaAPI编程接口。Facebook同时在Hadoop基础上建立了一个名为Hive的高级数据仓库框架,Hive已经正式成为基于Hadoop的Apache一级项目。此外,还开发了HDFS上的FUSE实现。
3.A9.com
A9.com为Amazon使用Hadoop构建了商品搜索索引,主要使用StreamingAPI以及C++、Perl和Python工具,同时使用Java和StreamingAPI分析处理每日数以百万计的会话。A9.com为Amazon构建的索引服务运行在100节点左右的Hadoop集群上。
4.Adobe
Adobe主要使用Hadoop及HBase,同于支撑社会服务计算,以及结构化的数据存储和处理。大约有超过30个节点的Hadoop-HBase生产集群。Adobe将数据直接持续地存储在HBase中,并以HBase作为数据源运行MapRece作业处理,然后将其运行结果直接存到HBase或外部系统。Adobe在2008年10月就已经将Hadoop和HBase应用于生产集群。
5.CbIR
自2008年4月以来,日本的CbIR(Content-basedInformationRetrieval)公司在AmazonEC2上使用Hadoop来构建图像处理环境,用于图像产品推荐系统。使用Hadoop环境生成源数据库,便于Web应用对其快速访问,同时使用Hadoop分析用户行为的相似性。
6.Datagraph
Datagraph主要使用Hadoop批量处理大量的RDF数据集,尤其是利用Hadoop对RDF数据建立索引。Datagraph也使用Hadoop为客户执行长时间运行的离线SPARQL查询。Datagraph是使用AmazonS3和Cassandra存储RDF数据输入和输出文件的,并已经开发了一个基于MapRece处理RDF数据的Ruby框架——RDFgrid。
Datagraph主要使用Ruby、RDF.rb以及自己开发的RDFgrid框架来处理RDF数据,主要使用HadoopStreaming接口。
7.EBay
单集群超过532节点集群,单节点8核心CPU,容量超过5.3PB存储。大量使用的MapRece的Java接口、Pig、Hive来处理大规模的数据,还使用HBase进行搜索优化和研究。
8.IBM
IBM蓝云也利用Hadoop来构建云基础设施。IBM蓝云使用的技术包括:Xen和PowerVM虚拟化的linux操作系统映像及Hadoop并行工作量调度,并发布了自己的Hadoop发行版及大数据解决方案。
9.Last.Fm
Last.Fm主要用于图表计算、专利申报、日志分析、A/B测试、数据集合并等,也使用Hadoop对超过百万的曲目进行大规模的音频特征分析。
节点超过100台机器,集群节点配置双四核[email protected]@2.13GHz,24GB内存,8TB(4×2TB)存储。
10.LinkedIn
LinkedIn有多种硬件配置的Hadoop集群,主要集群配置如下:
800节点集群,基于Westmere的惠普SL170X与2×4的核心,24GB内存,6×2TBSATA。
1900节点集群,基于Westmere的超微-HX8DTT,与2×6的核心,24GB内存,6×2TBSATA。
1400节点集群,基于SandyBridge超微与2×6的核心,32GB内存,6×2TBSATA。
使用的软件如下:
操作系统使用RHEL6.3。
JDK使用SUNJDK1.6.0_32。
Apache的Hadoop0.20.2的补丁和ApacheHadoop的1.0.4补丁。
Azkaban和Azkaban用于作业调度。
Hive、Avro、Kafka等。
11.MobileAnalytic.TV
主要使用Hadoop应用在并行化算法领域,涉及的MapRece应用算法如下。
信息检索和分析。
机器生成的内容——文档、文本、音频、视频。
自然语言处理。
项目组合包括:
移动社交网络。
网络爬虫。
文本到语音转化。
音频和视频自动生成。
12.Openstat
主要利用Hadoop定制一个网络日志分析并生成报告,其生产环境下超过50个节点集群(双路四核Xeon处理器,16GB的RAM,4~6硬盘驱动器),还有两个相对小的集群用于个性化分析,每天处理约500万的事件,每月15亿美元的交易数据,集群每天产生大约25GB的报告。
使用的技术主要包括:CDH、Cascading、Janino。
13.Quantcast
3000个CPU核心,3500TB存储,每日处理1PB以上的数据,使用完全自定义的数据路径和排序器的Hadoop调度器,对KFS文件系统有突出贡献。
14.Rapleaf
超过80个节点的集群(每个节点有2个双核CPU,2TB×8存储,16GBRAM内存);主要使用Hadoop、Hive处理Web上关联到个人的数据,并引入Cascading简化数据流穿过各种处理阶段。
15.WorldLingo
硬件上超过44台服务器(每台有2个双核CPU,2TB存储,8GB内存),每台服务器均运行Xen,启动一个虚拟机实例运行Hadoop/HBase,再启动一个虚拟机实例运行Web或应用程序服务器,即有88台可用的虚拟机;运行两套独立的Hadoop/HBase机群,它们各自拥有22个节点。Hadoop主要用于运行HBase和MapRece作业,扫描HBase的数据表,执行特定的任务。HBase作为一种可扩展的、快速的存储后端,用于保存数以百万的文档。目前存储了1200万篇文档,近期的目标是存储4.5亿篇文档。
16.格拉斯哥大学的TerrierTeam
超过30个节点的实验集群(每节点配置XeonQuadCore2.4GHz,4GB内存,1TB存储)。使用Hadoop促进信息检索研究和试验,特别是用于TREC,用于TerrierIR平台。Terrier的开源发行版中包含了基于HadoopMapRece的大规模分布式索引。
17.内布拉斯加大学的HollandComputingCenter
运行一个中等规模的Hadoop机群(共计1.6PB存储)用于存储和提供物理数据,以支持紧凑型μ子螺旋型磁谱仪(CompactMuonSolenoid,CMS)实验的计算。这需要一类能够以几Gbps的速度下载数据,并以更高的速度处理数据的文件系统的支持。
18.VisibleMeasures
将Hadoop作为可扩展数据流水线的一个组件,最终用于VisibleSuite等产品。使用Hadoop汇总、存储和分析与网络视频观众收看行为相关的数据流。目前的网格包括超过128个CPU核心,超过100TB的存储,并计划大幅扩容。
国内Hadoop的应用现状
Hadoop在国内的应用主要以互联网公司为主,下面主要介绍大规模使用Hadoop或研究Hadoop的公司。
1.网络
网络在2006年就开始关注Hadoop并开始调研和使用,在2012年其总的集群规模达到近十个,单集群超过2800台机器节点,Hadoop机器总数有上万台机器,总的存储容量超过100PB,已经使用的超过74PB,每天提交的作业数目有数千个之多,每天的输入数据量已经超过7500TB,输出超过1700TB。
网络的Hadoop集群为整个公司的数据团队、大搜索团队、社区产品团队、广告团队,以及LBS团体提供统一的计算和存储服务,主要应用包括:
数据挖掘与分析。
日志分析平台。
数据仓库系统。
推荐引擎系统。
用户行为分析系统。
同时网络在Hadoop的基础上还开发了自己的日志分析平台、数据仓库系统,以及统一的C++编程接口,并对Hadoop进行深度改造,开发了HadoopC++扩展HCE系统。
2.阿里巴巴
阿里巴巴的Hadoop集群截至2012年大约有3200台服务器,大约30?000物理CPU核心,总内存100TB,总的存储容量超过60PB,每天的作业数目超过150?000个,每天hivequery查询大于6000个,每天扫描数据量约为7.5PB,每天扫描文件数约为4亿,存储利用率大约为80%,CPU利用率平均为65%,峰值可以达到80%。阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务,主要应用包括:
数据平台系统。
搜索支撑。
广告系统。
数据魔方。
量子统计。
淘数据。
推荐引擎系统。
搜索排行榜。
为了便于开发,其还开发了WebIDE继承开发环境,使用的相关系统包括:Hive、Pig、Mahout、Hbase等。
3.腾讯
腾讯也是使用Hadoop最早的中国互联网公司之一,截至2012年年底,腾讯的Hadoop集群机器总量超过5000台,最大单集群约为2000个节点,并利用Hadoop-Hive构建了自己的数据仓库系统TDW,同时还开发了自己的TDW-IDE基础开发环境。腾讯的Hadoop为腾讯各个产品线提供基础云计算和云存储服务,其支持以下产品:
腾讯社交广告平台。
搜搜(SOSO)。
拍拍网。
腾讯微博。
腾讯罗盘。
QQ会员。
腾讯游戏支撑。
QQ空间。
朋友网。
腾讯开放平台。
财付通。
手机QQ。
QQ音乐。
4.奇虎360
奇虎360主要使用Hadoop-HBase作为其搜索引擎so.com的底层网页存储架构系统,360搜索的网页可到千亿记录,数据量在PB级别。截至2012年年底,其HBase集群规模超过300节点,region个数大于10万个,使用的平台版本如下。
HBase版本:facebook0.89-fb。
HDFS版本:facebookHadoop-20。
奇虎360在Hadoop-HBase方面的工作主要为了优化减少HBase集群的启停时间,并优化减少RS异常退出后的恢复时间。
5.华为
华为公司也是Hadoop主要做出贡献的公司之一,排在Google和Cisco的前面,华为对Hadoop的HA方案,以及HBase领域有深入研究,并已经向业界推出了自己的基于Hadoop的大数据解决方案。
6.中国移动
中国移动于2010年5月正式推出大云BigCloud1.0,集群节点达到了1024。中国移动的大云基于Hadoop的MapRece实现了分布式计算,并利用了HDFS来实现分布式存储,并开发了基于Hadoop的数据仓库系统HugeTable,并行数据挖掘工具集BC-PDM,以及并行数据抽取转化BC-ETL,对象存储系统BC-ONestd等系统,并开源了自己的BC-Hadoop版本。
中国移动主要在电信领域应用Hadoop,其规划的应用领域包括:
经分KPI集中运算。
经分系统ETL/DM。
结算系统。
信令系统。
云计算资源池系统。
物联网应用系统。
E-mail。
IDC服务等。
7.盘古搜索
盘古搜索(目前已和即刻搜索合并为中国搜索)主要使用Hadoop集群作为搜索引擎的基础架构支撑系统,截至2013年年初,集群中机器数量总计超过380台,存储总量总计3.66PB,主要包括的应用如下。
网页存储。
网页解析。
建索引。
Pagerank计算。
日志统计分析。
推荐引擎等。
即刻搜索(人民搜索)
即刻搜索(目前已与盘古搜索合并为中国搜索)也使用Hadoop作为其搜索引擎的支撑系统,截至2013年,其Hadoop集群规模总计超过500台节点,配置为双路6核心CPU,48G内存,11×2T存储,集群总容量超过10PB,使用率在78%左右,每天处理读取的数据量约为500TB,峰值大于1P,平均约为300TB。
即刻搜索在搜索引擎中使用sstable格式存储网页并直接将sstable文件存储在HDFS上面,主要使用HadoopPipes编程接口进行后续处理,也使用Streaming接口处理数据,主要的应用包括:
网页存储。
解析。
建索引。
推荐引擎。
end
4. 请问什么是网络爬虫啊是干什么的呢
网络爬虫(又被称为爬虫,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
工作原理:传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,再不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
编写爬虫程序成本过大,可选择爬虫软件。
推荐使用操作简单、功能强大的八爪鱼采集器:行业内知名度很高的免费网页采集器,拥有超过六十万的国内外政府机构和知名企业用户。
1、免费使用:免费版本没有任何功能限制,能够实现全网98%以上的数据采集。
2、操作简单:完全可视化操作,无需编写代码,根据教程学习后可快速上手。
3、特色云采集:支持关机采集、自动定时采集,支持高并发获取数据,采集效率高。
4、支持多IP动态分配与验证码识别,有效避免IP封锁。
5、内置各种文档和视频教程,同时还有专业客服人员提供技术支持与服务。
6、新版本可实现实现一键输入网址提取数据、可实现内置APP的数据采集。
7、采集数据表格化,支持多种导出方式和导入网站。
5. 数据爬虫行为如何合规
前言
由于网络数据爬取行为具有高效检索、批量复制且成本低廉的特征,现已成为许多企业获取数据资源的方式。也正因如此,一旦爬取的数据设计他人权益时,企业将面临诸多法律风险。本文将从数据爬取行为的相关概述、数据爬取相关立法规定,结合数据爬取行为近期典型案例,探讨数据爬取行为的合规要点。
一、数据爬取行为概述
数据爬取行为是指利用网络爬虫或者类似方式,根据所设定的关键词、取样对象等规则,自动地抓取万维网信息的程序或者脚本,并对抓取结果进行大规模复制的行为。
使用爬虫爬取数据的过程当中,能否把握合法边界是关系企业生死存亡的问题。近些年大数据、人工智能的广泛使用,对各种数据的刚性需求,使数据行业游走在“灰色边缘”。面对网络数据安全的“强监管”态势,做好数据合规、数据风控刻不容缓。当前我国并没有相关法律法规对数据爬取行为进行专门规制,而是根据爬取数据的不同“质量”,主要通过《中华人民共和国著作权法》(以下简称“《著作权法》)、《中华人民共和国反不正当竞争法》(以下简称“《反不正当竞争法》”)、《中华人民共和国刑法》(以下简称“《刑法”》)等现有法律法规进行规制。
二、数据爬取相关法律责任梳理
(一)承担刑事责任
1、非法侵入计算机信息系统罪
《刑法》第285条第1款规定了“非法侵入计算机信息系统罪”,违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。
典型案例:李某等非法侵入计算机信息系统罪(2018)川3424刑初169号
本案中,被告人李某使用“爬虫”软件,大量爬取全国各地及凉山州公安局交警支队车管所公告的车牌放号信息,之后使用软件采用多线程提交、批量刷单、验证码自动识别等方式,突破系统安全保护措施,将爬取的车牌号提交至“交通安全服务管理平台”车辆报废查询系统,进行对比,并根据反馈情况自动记录未注册车牌号,建立全国未注册车牌号数据库。之后编写客户端查询软件,由李某通过QQ、淘宝、微信等方式,以300-3000元每月的价格,分省市贩卖数据库查阅权限。
法院认为,被告人李文某为牟取私利,违法国家规定,侵入国家事务领域的计算机信息系统,被告人的行为均已构成非法侵入计算机信息系统罪。
2、非法获取计算机信息系统数据罪
《刑法》第285条第2款规定如下,违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。同时,《最高人民法院、最高人民检察院关于办理危害计算机信息系统安全刑事案件应用刑事案件应用法律若干问题的解释》第1条对“情节严重”作出了具体的规定:“非法获取计算机信息系统数据或者非法控制计算机信息系统,具有下列情形之一的,应当认定为刑法第二百八十五条第二款规定的“情节严重”:(一)获取支付结算、证券交易、期货交易等网络金融服务的身份认证信息十组以上的;(二)获取第(一)项以外的身份认证信息五百组以上的;(三)非法控制计算机信息系统二十台以上的;(四)违法所得五千元以上或者造成经济损失一万元以上的;(五)其他情节严重的情形。”
典型案例:李某、王某等非法获取计算机信息系统数据、非法控制计算机系统案(2021)沪0104刑初148号
本案中,益采公司在未经淘宝(中国)软件有限公司授权许可的情况下,经李某授意,益采公司部门负责人被告人王某、高某等人分工合作,以使用IP代理、“X-sign”签名算法等手段突破、绕过淘宝公司的“反爬虫”防护机制,再通过数据抓取程序大量非法抓取淘宝公司存储的各主播在淘宝直播时的开播地址、销售额、观看PV、UV等数据。至案发,益采公司整合非法获取的数据后对外出售牟利,违法所得共计人民币22万余元。法院认为被告人李某、王某、高某等人构成非法获取计算机信息系统数据罪,分别判处有期徒刑二年六个月、一年三个月不等,并处罚金。
法院认为,被告人李文某为牟取私利,违法国家规定,侵入国家事务领域的计算机信息系统,被告人的行为均已构成非法侵入计算机信息系统罪。
3、提供侵入、非法控制计算机信息系统程序、工具罪
《刑法》第285条第3款对该罪规定如下,提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。《最高人民法院、最高人民检察院关于办理危害计算机信息系统安全刑事案件应用刑事案件应用法律若干问题的解释》中还列举了“具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权获取计算机信息系统数据的功能的”等类型的程序、工具。
典型案例:陈辉提供侵入、非法控制计算机信息系统程序、工具罪(2021)粤0115刑初5号
本案中,被告人陈辉为牟取非法利益,在本区编写爬虫软件用于在浙江淘宝网络有限公司旗下的大麦网平台上抢票,并以人民币1888元到6888元不等的价格向他人出售该软件,非法获利人民币12万余元。2019年7月11日,被告人陈辉被公安机关抓获。经鉴定,上述爬虫软件具有以非常规的方式构造和发送网络请求,模拟用户在大麦网平台手动下单和购买商品的功能;具有以非常规手段模拟用户识别和输入图形验证码的功能,该功能可绕过大麦网平台的人机识别验证机制,以非常规方式访问大麦网平台的资源。
本院认为,被告人陈辉提供专门用于侵入、非法控制计算机信息系统程序、工具,情节特别严重,依法应予惩处。
4、 侵犯公民个人信息罪
《刑法》第253条中规定了该罪,违反国家有关规定,向他人出售或者提供公民个人信息,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。违反国家有关规定,将在履行职责或者提供服务过程中获得的公民个人信息,出售或者提供给他人的,依照前款的规定从重处罚。窃取或者以其他方法非法获取公民个人信息的,依照第一款的规定处罚。
典型案例:杭州魔蝎数据 科技 有限公司、周江翔、袁冬侵犯公民个人信息罪(2020)浙0106刑初437号
本案中,被告人周江翔系魔蝎公司法定代表人、总经理,负责公司整体运营,被告人袁冬系魔蝎公司技术总监,系技术负责人,负责相关程序设计。魔蝎公司主要与各网络贷款公司、小型银行进行合作,为网络贷款公司、银行提供需要贷款的用户的个人信息及多维度信用数据,方式是魔蝎公司将其开发的前端插件嵌入上述网贷平台A**中,在网贷平台用户使用网贷平台的APP借款时,贷款用户需要在魔蝎公司提供的前端插件上,输入其通讯运营商、社保、公积金、淘宝、京东、学信网、征信中心等网站的账号、密码,经过贷款用户授权后,魔蝎公司的爬虫程序代替贷款用户登录上述网站,进入其个人账户,利用各类爬虫技术,爬取(复制)上述企、事业单位网站上贷款用户本人账户内的通话记录、社保、公积金等各类数据。
法院认为,被告单位杭州魔蝎数据 科技 有限公司以其他方法非法获取公民个人信息,情节特别严重,其行为已构成侵犯公民个人信息罪。被告人周江翔、袁冬分别系对被告单位魔蝎公司侵犯公民个人信息行为直接负责的主管人员和其他直接责任人员,其行为均已构成侵犯公民个人信息罪。
5、侵犯著作权罪
根据《刑法》第217条规定,以营利为目的,有下列侵犯著作权或者与著作权有关的权利的情形之一,违法所得数额较大或者有其他严重情节的,处三年以下有期徒刑,并处或者单处罚金;违法所得数额巨大或者有其他特别严重情节的,处三年以上十年以下有期徒刑,并处罚金:(一)未经著作权人许可,复制发行、通过信息网络向公众传播其文字作品、音乐、美术、视听作品、计算机软件及法律、行政法规规定的其他作品的;(二)出版他人享有专有出版权的图书的;(三)未经录音录像制作者许可,复制发行、通过信息网络向公众传播其制作的录音录像的;(四)未经表演者许可,复制发行录有其表演的录音录像制品,或者通过信息网络向公众传播其表演的;(五)制作、出售假冒他人署名的美术作品的;(六)未经著作权人或者与著作权有关的权利人许可,故意避开或者破坏权利人为其作品、录音录像制品等采取的保护著作权或者与著作权有关的权利的技术措施的。
典型案例:谭某某等侵犯著作权罪(2020)京0108刑初237号
本案中,被告鼎阅公司自2018年开始,在覃某某等12名被告人负责管理或参与运营下,未经掌阅 科技 股份有限公司、北京幻想纵横网络技术有限公司等权利公司许可,利用网络爬虫技术爬取正版电子图书后,在其推广运营的“鸿雁传书”“TXT全本免费小说”等10余个App中展示,供他人访问并下载阅读,并通过广告收入、付费阅读等方式进行牟利。根据经公安机关依法提取收集并经勘验、检查、鉴定的涉案侵权作品信息数据、账户交易明细、鉴定结论、广告推广协议等证据,法院查明,涉案作品侵犯掌阅 科技 股份有限公司、北京幻想纵横网络技术有限公司享有独家信息网络传播权的文字作品共计4603部,侵犯中文在线数字出版集团股份有限公司享有独家信息网络传播权的文字作品共计469部。
法院认为,鼎阅公司、直接负责的主管人员覃某某等12名被告人以营利为目的,未经著作权人许可,复制发行他人享有著作权的文字作品,情节特别严重,其行为均已构成侵犯著作权罪,应予惩处。
(2) 构成不正当竞争
我国《反不正当竞争法》第12条规定:“经营者利用网络从事生产经营活动,应当遵守本法的各项规定。经营者不得利用技术手段,通过影响用户选择或者其他方式,实施下列妨碍、破坏其他经营者合法提供的网络产品或者服务正常运行的行为:(一)未经其他经营者同意,在其合法提供的网络产品或者服务中,插入链接、强制进行目标跳转;(二)误导、欺骗、强迫用户修改、关闭、卸载其他经营者合法提供的网络产品或者服务;(三)恶意对其他经营者合法提供的网络产品或者服务实施不兼容;(四)其他妨碍、破坏其他经营者合法提供的网络产品或者服务正常运行的行为。
典型案例:深圳市腾讯计算机系统有限公司、腾讯 科技 (深圳)有限公司与被告某新媒体公司不正当竞争纠纷案
本案中,两原告系微信公众平台的经营者和管理者,被告某新媒体公司系某网站经营者,利用爬虫技术抓取微信公众平台文章等信息内容数据,并通过网站对外提供公众号信息搜索、导航及排行等数据服务。原告诉称,被告利用被控侵权产品,突破微信公众平台的技术措施进行数据抓取,并进行商业化利用,妨碍平台正常运行,构成不正当竞争。被告辩称,爬取并提供公众号数据服务的行为不构成不正当竞争,其爬取的文章并非腾讯公司的数据,而是微信公众号的用户数据,且其网站获利较少。
法院认为,被告违背诚实信用原则,擅自使用原告征得用户同意、依法汇集且具有商业价值的数据,并足以实质性替代其他经营者提供的部分产品或服务,损害公平竞争的市场秩序,属于《反不正当竞争法》第十二条第二款第四项所规定的妨碍、破坏其他经营者合法提供的网络产品或者服务正常运行的行为,构成不正当竞争。
(3) 行政责任
我国当前关于爬虫行为所应承担的行政责任主要规定在《网络安全法》中,其中涉嫌违反第27条规定的:“任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。”,需要承担一定的行政责任。该法第63条对违反第27条还规定了具体的行政处罚措施,包括“没收违法所得”“拘留”“罚款”等处罚。同时,对违反27条规定受到处罚的相关人员也作出了任职限制规定。
此外,《数据安全管理办法(征求意见稿)》第16条对爬虫适用作出了限流规定:“网络运营者采取自动化手段访问收集网站数据,不得妨碍网站正常运行;此类行为严重影响网站运行,如自动化访问收集流量超过网站日均流量三分之一,网站要求停止自动化访问收集时,应当停止。”同时,第37条也规定了相应的行政责任:网络运营者违反相关规定的,由有关部门给予公开曝光、没收违法所得、暂停相关业务、停业整顿、关闭网站、吊销相关业务许可证或吊销营业执照等处罚。
三、数据爬取行为的合规指引
(一)严格规范数据爬取行为
1、如果目标网站有反爬取协议,应严格遵守网站设置的 Robots协议。Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”,网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。该协议尊重信息提供者的意愿,并维护其隐私权;保护其使用者的个人信息和隐私不被侵犯。Robots协议代表一种契约精神,互联网企业只有遵守这一规则,才能保证网站及用户的隐私数据不被侵犯。可以说,无论从保护网民隐私还是尊重版权内容的角度,遵守robots协议都应该是正规互联网公司的默之举,任何违反robots协议的行为都应该为此付出代价。
2、合理限制抓取的内容。在设置抓取策略时,应注意编码禁止抓取视频、音乐等可能构成作品的、明确的著作权作品数据,或者针对某些特定网站批量抓取其中的用户生成内容;在使用、传播抓取到的信息时,应审查所抓取的内容,如发现属于用户的个人信息、隐私或者他人的商业秘密的,应及时停止并删除。对于内部系统数据,严格禁止侵入。
3、爬取行为不应妨碍网站的正常运行。企业应当合理控制爬取的频率,尽可能避免过于频繁地抓取数据,特别是如果超过了《数据安全管理办法(征求意见稿)》明确规定的“自动化访问收集流量超过网站日均流量三分之一”的要求,就应当严格遵守网站的要求,及时停止数据抓取。
(二)爬取个人信息时恪守合法、正当、必要原则
在我国,合法、正当、必要原则散见于《消费者权益保护法》、《网络安全法》、《全国人大常委会关于加强网络信息保护的决定》、《个人信息安全规范》等法律与规范之中。网络经营者拟爬取用户个人信息的,应当严格遵守上述法律法规的规定,以取得个人用户的事前同意为原则,避免超出用户的授权范围爬取信息。同样地,数据接受方也应当对以爬虫方式获取的他人信息进行合法性审查,了解个人信息主体是否同意共享个人信息数据。
(三)爬取商业数据时谨防构成不正当竞争
在数字内容领域,数据是内容产业的核心竞争资源,内容平台经过汇总分析处理后的数据往往具有极高的经济价值,因此非法爬取行为在某些具体应用场景下会被认定为构成不正当竞争。尤其是对于双方商业模式相同或近似、获取对方的信息会对对方造成直接损害的,企业应重点予以防范。如果存在此种情形,则应当谨慎使用爬取获取被爬取网站的数据。
四、结语
随着大数据时代的来临以及数字技术的蓬勃发展,数据的价值日益凸显,部分企业通过数据爬取技术更加高效地获取和深度地利用相关数据,从而弥补企业自身数据不足的现状,支撑企业的商业化发展。对于这些企业而言,“网络爬虫如何爬取信息数据才是合法的?”“爬取数据时如何做到合规?”是亟待解决的一大难题。作为法律工作者,应当从法律的专业角度给企业提供强有力的合规指引,为促进高新技术企业的发展,进而全面提升国家 科技 创新能力做出应有的贡献。
6. 学Python有前途么
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。
Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
Python优点
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
易学:Python极其容易上手,因为Python有极其简单的说明文档 。
速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。
在精通C的前提下,学会应用python 很有好处;可你要是只会python 而对C一无所知,那当真没多大用处。要知道,python的应用需要安装python 平台,而python 平台的扩展模块几乎都是用C来实现的…………因为python 比较容易,如果是刚接触编程,可以通过python 来入门,以后在学C等等,可这样就算你会python 后,学C还是有难度。如果你先学会C,那再学python 就是信手拈来般简单。
7. Python编程能用在哪些方面
1、web开发:python的诞生历史比web还要早,python是解释型编程语言,开发效率高,非常适合进行web开发。它有上百种web开发框架,有很多成熟的模板技术,选择python开发web应用,不但开发效率高,速度也是非常快的。常用的web开发框架有:Django、Flask、Tornado 等。
2、网络爬虫:网络爬虫是python非常常见的一个场景,国际上其实google在早期大量地使用Python语言作为网络爬虫的基础,推动python发展,以前国内很多人采集网上的内容,现在就可以用python来实现了。
3、人工智能:人工智能是非常火的一个方向,AI浪潮让python语言未来充满潜力。现在python有很多库都是针对人工智能的,比如numpy,
scipy做数值计算的,sklearn做机器学习的,pybrain做神经网络等。在人工智能领域,数据分析、机器学习、神经网络、深度学习等都是主流语言。
4、数据分析:数据分析处理方面,python有非常完备的生态环境。大数据分析涉及到分布式计算、数据可视化、数据库操作等,python都有成熟的模板可以完成其功能,对于Hadoop-MapRece和Spark,都可以直接使用Python完成计算逻辑,是非常便利的。
5、自动化运维:python对于服务器是非常重要的,目前几乎所有Linux发行版本中都带有python编辑器,使用python脚本进行批量化文件部署和运行调整都成了Linux服务器很不错的选择。python有很多方便的工具,比如说调控ssh/sftp用的paramiko,到监控服务用的supervisor等,让运维变得更加简单。
8. 一文看完网络爬虫发展史
著名调查机构Aberdeen Group曾经做过一次调查,结果令人乍舌。
整个互联网,网络爬虫产生的流量占比高达37.2%!
换句话说, 每100个互联网用户中,只有63个是实实在在的人类 ,剩下的流量都是机器人刷出来的。
有一种说法更可怕,未来互联网50%以上的流量将是机器人制造出来的。
在现实世界,人类还在为人工智能威胁而烦恼,但在虚拟世界,机器人所制造的流量,已经可以和人类平分秋色,甚至超过人类。
每时每刻,爬虫们都在模仿人类的上网行为,去各种网站上溜达,点点按钮,查查数据,或者把看到的信息背回来,他们永远不知道疲倦,循环往复。
你一定见过验证码吗,它可能长这样:
也可能这样:
或者是这样子:
无论它长什么样子,验证码只有一个目的,识别真实的人类用户。
打开网络搜索,搜点什么资料,解决点什么问题。无意中,你也成为众多爬虫使用者中的一员。
爬虫,已经遍布在互联网的每一个角落,影响着每一个人。
但是,你了解爬虫的前世今生吗?
1994年,在卡内基梅隆大学参加“信息媒体数字图书馆”项目研究的小马,为了解决这一项目的一些困难,用3页的代码量,开发了一个名为Lycos的搜索引擎。
Lycos是Lycosidae(一种善于捕捉猎物的狼蛛)的缩写。
这个简陋的搜索引擎,让小马看到其背后巨大的商机,于是不久后,Lycos公司正式成立。
短短两年时间,Lycos便成功上市,成为有史以来上市最快的公司。根据Nielsen/NetRatings调查统计机构数据,2002年10月份,Lycos的访问量高达3700万,成为全世界访问量排名第5的网站。
然而,搜索引擎这块大蛋糕,终究逃不过群狼竞食的命运。
1995年,也就是在Lycos诞生一年后,斯坦福大学的两个计算机专业的学生小拉和小谢,开始研究一个叫BackRub的计算机程序。
这个程序是利用反向链接分析来跟踪和记录Internet上的数据的搜索引擎。
他们立志开发一款强大的搜索引擎,供全世界各地的人们使用,更加方便地从互联网上获取信息。
1998年,小拉和小谢拿出自己的全部家当,再加上母校和舍友的一点资金支持,成立一家名为Google的公司。
因为没有充足的资金保障,他们不得不购买二手的计算机零件,在一个车库中办公。
艰难的创业环境,使小拉和小谢一度想卖掉Google,他们邀请了雅虎、Excite以及其他几家硅谷公司,希望他们把Google买了,只可惜当初这些公司只愿意出100万美元的价格,与他们俩的心理预期严重不符,这件事只得作罢。
几乎同一时间,在地球的另一头,有一个年轻的小伙子小马,开发了一款名为QQ的聊天软件,也想把它卖出去,也没有成功。
历史 总是惊人的相似。
谁也没想到,这两家名不见经传的小公司,会成为互联网超级巨头。
世界的另一头,在美国呆了8年的小李,看到国内互联网环境已经成熟,他立即起身回国创业,创办一家名为网络的公司。
至此,谷歌、雅虎、网络三分天下的局面逐渐形成。
上古时代,那时的互联网,还是一片贤者云集的净土,为了尊重网站的权利,各大搜索引擎通过邮件形式讨论定下了一个君子协议——robots.txt。
只要在你的网站根目录上放上一个robots文件,告诉搜索引擎哪些内容不能抓取,网络爬虫就会遵守约定,不抓取这些内容。
随着互联网的发展, 信息量快速发展,整个网络世界,充满着许多很有价值的信息,商品信息、机票信息、个人隐私数据满天飞。
一些不法分子从中看到了巨大的利益。
在利益的诱惑下,这些人开始违反爬虫协议,编写爬虫程序,恶意爬取目标网站的内容。
历史 上第一件关于爬虫的官司出现在2000年,eBay将一家聚合价格信息的网站告上法庭。
eBay认为自己已经使用robot协议,明确告诉哪些信息不能抓取,哪些信息可以抓取,但这家公司违反了协议,非法抓取商品价格等信息。
但被告认为,eBay上的用户数据、以及用户上传的商品信息,应属于用户集体所有,并不属于eBay,robot协议无效。
最终,法院判决eBay胜诉。
这个案件开启了爬虫协议作为主要参考证据的先河。
如今,爬虫技术发展迅速,已经出现通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫等类型。抓取目标的方式也很多,例如基于目标网页特征、基于目标数据模式、基于领域概念等。
爬虫技术,无论善意还是恶意,都将常伴在互联网的身边,影响网民的分分秒秒。
9. 网络爬虫技术的概述与研究
爬虫技术概述
网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。
传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:
(1) 对抓取目标的描述或定义;
(2) 对网页或数据的分析与过滤;
(3) 对URL的搜索策略。