網(wǎng)絡(luò)爬蟲(Web Spider)又稱網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機器人,是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。
網(wǎng)絡(luò)爬蟲按照系統(tǒng)結(jié)構(gòu)和實現(xiàn)技術(shù),大致可分為一下幾種類型:
通用網(wǎng)絡(luò)爬蟲:就是盡可能大的網(wǎng)絡(luò)覆蓋率,如 搜索引擎(百度、雅虎和谷歌等…)。
聚焦網(wǎng)絡(luò)爬蟲:有目標性,選擇性地訪問萬維網(wǎng)來爬取信息。
增量式網(wǎng)絡(luò)爬蟲:只爬取新產(chǎn)生的或者已經(jīng)更新的頁面信息。特點:耗費少,難度大
深層網(wǎng)絡(luò)爬蟲:通過提交一些關(guān)鍵字才能獲取的Web頁面,如登錄或注冊后訪問的頁面。
應(yīng)用場景
爬蟲技術(shù)在科學(xué)研究
、Web安全
、產(chǎn)品研發(fā)
、輿情監(jiān)控
等領(lǐng)域可以做很多事情。
在數(shù)據(jù)挖掘、機器學(xué)習(xí)、圖像處理等科學(xué)研究領(lǐng)域,如果沒有數(shù)據(jù),則可以通過爬蟲從網(wǎng)上抓??;
在Web安全方面,使用爬蟲可以對網(wǎng)站是否存在某一漏洞進行批量驗證、利用;
在產(chǎn)品研發(fā)方面,可以采集各個商城物品價格,為用戶提供市場最低價;
在輿情監(jiān)控方面,可以抓取、分析新浪微博的數(shù)據(jù),從而識別出某用戶是否為水軍
學(xué)習(xí)爬蟲前的技術(shù)準備
(1). Python基礎(chǔ)語言: 基礎(chǔ)語法、運算符、數(shù)據(jù)類型、流程控制、函數(shù)、對象 模塊、文件操作、多線程、網(wǎng)絡(luò)編程 … 等
(2). W3C標準: HTML、CSS、JavaScript、Xpath、JSON
(3). HTTP標準: HTTP的請求過程、請求方式、狀態(tài)碼含義,頭部信息以及Cookie狀態(tài)管理
(4). 數(shù)據(jù)庫: SQLite、MySQL、MongoDB、Redis …
關(guān)于爬蟲的合法性
幾乎每個網(wǎng)站都有一個名為robots.txt的文檔,當(dāng)然也有有些網(wǎng)站沒有設(shè)定。對于沒有設(shè)定robots.txt的網(wǎng)站可以通過網(wǎng)絡(luò)爬蟲獲取沒有口令加密的數(shù)據(jù),也就是該網(wǎng)站所有頁面的數(shù)據(jù)都可以爬取。如果網(wǎng)站有文件robots.txt文檔,就要判斷是否有禁止訪客獲取數(shù)據(jù) 如:https://www.baidu.com/robots.txt
-
機器學(xué)習(xí)
關(guān)注
66文章
8353瀏覽量
132324 -
python
+關(guān)注
關(guān)注
55文章
4773瀏覽量
84385 -
爬蟲
+關(guān)注
關(guān)注
0文章
82瀏覽量
6816
發(fā)布評論請先 登錄
相關(guān)推薦
評論