爬蟲:
以上平臺或者機(jī)構(gòu)不能夠提供我們需要的數(shù)據(jù),
這時(shí)就需要爬蟲工程師,根據(jù)需求從互聯(lián)網(wǎng)上抓取數(shù)據(jù)?
什么是爬蟲?
就是一段自動抓取互聯(lián)網(wǎng)數(shù)據(jù)的程序或腳本
爬蟲最基本的步驟:
1.尋找目標(biāo)url,發(fā)起請求
2.獲取請求的響應(yīng)結(jié)果,分析響應(yīng)結(jié)果
3.從響應(yīng)結(jié)果中提取數(shù)據(jù)
a.第一部分,從網(wǎng)頁中提取的目標(biāo)數(shù)據(jù)
b.如果存在新的url地址,則提取,繼續(xù)發(fā)起請求
爬蟲結(jié)束:
所有的目標(biāo)url全部請求完畢,爬蟲結(jié)束
爬蟲的分類(通用爬蟲,聚焦爬蟲):
通用爬蟲:
是搜索引擎的重要組成部分
作用和目的:盡可能全的將互聯(lián)網(wǎng)上所有的網(wǎng)頁下載到本地,通過分詞,去噪等進(jìn)行預(yù)處理,處理后進(jìn)行數(shù)據(jù)的持久化(鏡像備份),然后提取檢索系統(tǒng)
爬蟲的用途
1.搜索引擎
2.咨詢新聞網(wǎng)站
3.購物助手(慧慧購物)
4.數(shù)據(jù)分析與研究積累原始數(shù)據(jù)資源
5.搶票軟件等
獲取數(shù)據(jù)的步驟):
a.獲取一些種子url,放入待爬取隊(duì)列
b.從待爬取隊(duì)列中取出url發(fā)起請求,將獲取的響應(yīng)結(jié)果
進(jìn)行處理,之后存入本地,然后將已爬取的url,放入已爬
取隊(duì)列
c.從響應(yīng)結(jié)果中獲取外鏈(url),將url放入待爬取隊(duì)列中
DNS服務(wù):將域名轉(zhuǎn)換為ip的技術(shù)
搜索引擎如何獲取新網(wǎng)站的url:
1.向搜索引擎直接提交url地址(https://ziyuan.baidu.com/linksubmit/url)
2.通過網(wǎng)頁的外鏈
3.跟DNS服務(wù)商合作,新網(wǎng)站注冊的域?qū)?yīng)的網(wǎng)
站將會迅速被搜索引擎抓取
搜索引擎的排名:
1.根據(jù)用戶的訪問量和網(wǎng)站的流量進(jìn)行的排名
2.競價(jià)排名:根據(jù)價(jià)錢進(jìn)行網(wǎng)站的排名
搜索引擎需要遵守robot協(xié)議:
是一個規(guī)范,網(wǎng)站通過robot協(xié)議告訴搜索引擎哪些頁面可以爬取,哪些頁面不可以爬取
https://www.taobao.com/robots.txt
User-agent: Baiduspider(搜索引擎爬蟲名稱)
Allow: /article (允許爬取的url)
Disallow: /product/ (不允許爬取的url)
搜索引擎的缺點(diǎn):
1.只能夠獲取簡單的文件數(shù)據(jù),大型的二進(jìn)制數(shù)據(jù)(音頻,視頻)都不能夠獲取
2.搜索引擎搜索的結(jié)果千篇一律,沒有辦法根據(jù)特定的用戶,特定的需求獲取特定的數(shù)據(jù)
3.搜索引擎搜索結(jié)果99%并沒用
由于搜索引擎的缺點(diǎn),產(chǎn)生了聚焦爬蟲
聚焦爬蟲:
是面向主題,面向需求的爬蟲,只獲取跟需求相關(guān)的數(shù)據(jù)