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的搜索策略。