您好,登錄后才能下訂單哦!
小編給大家分享一下能不能用python來抓取數(shù)據(jù),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
Python可以抓取數(shù)據(jù),用Python抓取數(shù)據(jù)的腳本,我們通常稱之為爬蟲。
網(wǎng)絡(luò)爬蟲(英語:web crawler),也叫網(wǎng)上蜘蛛(spider),是一種用來自動瀏覽萬維網(wǎng)的網(wǎng)絡(luò)機器人。其目的一般為編纂網(wǎng)絡(luò)索引。
這里提到的編纂網(wǎng)絡(luò)索引,就是搜索引擎干的事情。我們對搜索引擎并不陌生,Google、百度等搜索引擎可能每天都在幫我們快速獲得
信息。搜索引擎的工作過程是怎樣的呢?
首先,就是有網(wǎng)絡(luò)爬蟲不斷抓取各個網(wǎng)站的網(wǎng)頁,存放到搜索引擎的數(shù)據(jù)庫;
接著,索引程序讀取數(shù)據(jù)庫的網(wǎng)頁進行清理,建立倒排索引;
最后,搜索程序接收用戶的查詢關(guān)鍵詞,去索引里面找到相關(guān)內(nèi)容,并通過一定的排序算法(Pagerank等)把最相關(guān)最好的結(jié)果排在最前面呈現(xiàn)給用戶。
看上去簡簡單單的三個部分,卻構(gòu)成了強大復(fù)雜的搜索引擎系統(tǒng)。而網(wǎng)絡(luò)爬蟲是其中最基礎(chǔ)也很重要的一部分,它決定著搜索引擎數(shù)據(jù)的完整性和豐富性。我們也看到網(wǎng)絡(luò)爬蟲的主要作用是獲取數(shù)據(jù)。
由此簡單地說,網(wǎng)絡(luò)爬蟲就是獲取互聯(lián)網(wǎng)公開數(shù)據(jù)的自動化工具。
這里要強調(diào)一下,網(wǎng)絡(luò)爬蟲爬取的是互聯(lián)網(wǎng)上的公開數(shù)據(jù),而不是通過特殊技術(shù)非法入侵到網(wǎng)站服務(wù)器獲取的非公開數(shù)據(jù)。
那么有人可能要問,什么是“公開數(shù)據(jù)”呢?簡而言之,就是網(wǎng)站上公開讓用戶瀏覽、獲取的數(shù)據(jù)。
雖然數(shù)據(jù)是公開的,但是當某人或機構(gòu)(如,搜索引擎)大量收集這些數(shù)據(jù)并因此獲利時,也會讓數(shù)據(jù)生產(chǎn)方——網(wǎng)站很不爽,由此而產(chǎn)生法律糾紛。比如,早些年Google因此而惹上官司。
網(wǎng)站們看著搜索引擎因為搜索引擎抓取自己的內(nèi)容而獲利不爽,但也因為搜索引擎帶來的流量而高興不已,于是就出現(xiàn)了網(wǎng)站主動進行搜索引擎優(yōu)化(SEO, Search Engine Optimization),也就是告訴搜索引擎,我這里的內(nèi)容好,快來抓取吧!
搜索引擎和網(wǎng)站的博弈,催生了一個君子協(xié)議: robots.txt。網(wǎng)站在自己的網(wǎng)站上放上這個文件,告訴爬蟲哪些內(nèi)容可以抓,哪些內(nèi)容不可以抓;搜索引擎讀取網(wǎng)站的robots.txt來知道自己的抓取范圍,同時也在訪問網(wǎng)站時通過User-Agent來向網(wǎng)站表明自己的身份(這種表明也是君子協(xié)議,技術(shù)上很容易假扮他人),比如,Google的爬蟲叫做Googlebot,百度的爬蟲叫做Baiduspider。這樣,二者和平共處,互惠互利。.
python學習網(wǎng),免費的python學習網(wǎng)站,歡迎在線學習!
二、大數(shù)據(jù)時代的網(wǎng)絡(luò)爬蟲
時代在發(fā)展,數(shù)據(jù)變得越來越重要,“大數(shù)據(jù)”已經(jīng)成為各行各業(yè)討論的話題,人們對數(shù)據(jù)的渴望也變成貪婪,數(shù)據(jù)也就成了“石油”,爬蟲也就成了“鉆井機”。
為了獲取石油,人們使用鉆井機;為了獲取數(shù)據(jù),人們使用爬蟲。為了獲得數(shù)據(jù),人們把互聯(lián)網(wǎng)鉆的是“千瘡百孔”。哈哈,這里有些夸
張。但人們對數(shù)據(jù)的獲取,已經(jīng)打破的君子協(xié)定,和網(wǎng)站們玩起了貓捉老鼠的游戲,展開了道高一尺魔高一丈的較量。
為什么說是較量呢?因為大量爬蟲的行為會給網(wǎng)站帶來網(wǎng)絡(luò)帶寬、服務(wù)器計算力等方面很大的壓力,卻幾乎不帶來任何利益。為了降低這
種毫無利益的壓力和避免自己的數(shù)據(jù)被他人集中收集,網(wǎng)站肯定要通過技術(shù)手段來限制爬蟲;另一方面,爬蟲為了獲取石油般的數(shù)據(jù),就想方設(shè)法來突破這種限制。
看完了這篇文章,相信你對能不能用python來抓取數(shù)據(jù)有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。