摘要:學(xué)習(xí)爬蟲的背景了解。但是搜索引擎蜘蛛的爬行是被輸入了一定的規(guī)則的,它需要遵從一些命令或文件的內(nèi)容,如標(biāo)注為的鏈接,或者是協(xié)議。不同領(lǐng)域不同背景的用戶往往具有不同的檢索目的和需求,搜索引擎無法提供針對具體某個用戶的搜索結(jié)果。
學(xué)習(xí)python爬蟲的背景了解。大數(shù)據(jù)時代數(shù)據(jù)獲取方式
如今,人類社會已經(jīng)進(jìn)入了大數(shù)據(jù)時代,數(shù)據(jù)已經(jīng)成為必不可少的部分,可見數(shù)據(jù)的獲取非常重要,而數(shù)據(jù)的獲取的方式大概有下面幾種。
企業(yè)生產(chǎn)的數(shù)據(jù),大型互聯(lián)網(wǎng)公司有海量的用戶,所以他們積累數(shù)據(jù)有天然的優(yōu)勢
數(shù)據(jù)管理資訊公司
政府/機(jī)構(gòu)提供的公開數(shù)據(jù)
第三方數(shù)據(jù)平臺購買數(shù)據(jù)
爬蟲爬取數(shù)據(jù)
互聯(lián)網(wǎng)數(shù)據(jù)指數(shù)
百度指數(shù)
阿里指數(shù)
騰訊指數(shù)
新浪指數(shù)
政府機(jī)構(gòu)數(shù)據(jù)
中華國家統(tǒng)計(jì)局
世界銀行數(shù)據(jù)
nasdaq股票市場
UNdata
數(shù)據(jù)管理咨詢公司
艾瑞數(shù)據(jù)
麥肯錫
埃森哲
第三方數(shù)據(jù)市場
數(shù)據(jù)堂
貴陽大數(shù)據(jù)交易所
國云數(shù)據(jù)
如果市場上沒有我們要的數(shù)據(jù),或者價格太高不愿購買,那么就需要使用爬蟲來獲得想要的數(shù)據(jù)了。
爬蟲介紹什么是爬蟲?
簡單來說就是用來抓取網(wǎng)頁數(shù)據(jù)的程序。
爬蟲是怎么抓取網(wǎng)頁數(shù)據(jù)的?
這里需要了解網(wǎng)頁三大特征
網(wǎng)頁都有自己唯一的URL(統(tǒng)一資源定位符)來進(jìn)行定位。
網(wǎng)頁都使用HTML(超文本標(biāo)記語言)來描述頁面信息。
網(wǎng)頁都使用HTTP/HTTPS(超文本傳輸協(xié)議)協(xié)議來傳輸HTML數(shù)據(jù)
爬蟲的設(shè)計(jì)思路
首先確定要爬取的網(wǎng)頁URL地址
通過HTTP/HTTPS協(xié)議來獲取對于的HTML頁面
提取HTML里面有用的數(shù)據(jù)
如果是有用的數(shù)據(jù),那么就保存起來,如果是頁面里有其他URL,那么就繼續(xù)執(zhí)行第二步
如何抓取HTML頁面
HTTP請求的處理:urllib,requests
處理后的請求可以模擬瀏覽器發(fā)送請求,獲取服務(wù)器響應(yīng)的文件
如何解析服務(wù)器響應(yīng)的內(nèi)容
使用某種描述性一樣,來給我們需要提取的數(shù)據(jù)定義一個匹配規(guī)則,符合這個規(guī)則的數(shù)據(jù)就會被匹配。
re、xpath、BeautifulSoup4(BS4)、jsonpath、pyquery等
如何采集動態(tài)HTML,驗(yàn)證碼的處理
通用的動態(tài)頁面采集:selenium+phantomJS
Tesseract:機(jī)器學(xué)習(xí)庫,機(jī)器圖像識別系統(tǒng),可以處理簡單驗(yàn)證碼
Scrapy框架
爬蟲后續(xù)還需要使用到scrapy框架,高定制性,高性能,數(shù)據(jù)下載速度快,提供了數(shù)據(jù)存儲,數(shù)據(jù)下載,提取規(guī)則等組件。
通用爬蟲
通用網(wǎng)絡(luò)爬蟲是捜索引擎抓取系統(tǒng)(Baidu、Google、Yahoo等)的重要組成部分。主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內(nèi)容的鏡像備份。
目標(biāo)
通用爬蟲就是盡可能把互聯(lián)網(wǎng)上所有的網(wǎng)頁下載下來,放到本地服務(wù)器備份,再對這些網(wǎng)頁進(jìn)行相關(guān)處理(提取關(guān)鍵字,去除廣告等),最后提供一個用戶檢索接口。
通用爬蟲的抓取流程
第一步
首先選取一部分的種子URL,將這些URL放入待抓取URL隊(duì)列;
取出待抓取URL,解析DNS得到主機(jī)的IP,并將URL對應(yīng)的網(wǎng)頁下載下來,存儲進(jìn)已下載網(wǎng)頁庫中,并且將這些URL放進(jìn)已抓取URL隊(duì)列。
分析已抓取URL隊(duì)列中的URL,分析其中的其他URL,并且將URL放入待抓取URL隊(duì)列,從而進(jìn)入下一個循環(huán)....
搜索引擎如何獲取一個新網(wǎng)站的URL:
新網(wǎng)站向搜索引擎主動提交網(wǎng)址:(如百度http://zhanzhang.baidu.com/li...)
在其他網(wǎng)站上設(shè)置新網(wǎng)站外鏈(盡可能處于搜索引擎爬蟲爬取范圍)
搜索引擎和DNS解析服務(wù)商(如DNSPod等)合作,新網(wǎng)站域名將被迅速抓取。
但是搜索引擎蜘蛛的爬行是被輸入了一定的規(guī)則的,它需要遵從一些命令或文件的內(nèi)容,如標(biāo)注為nofollow的鏈接,或者是Robots協(xié)議。
Robots協(xié)議(也叫爬蟲協(xié)議、機(jī)器人協(xié)議等),全稱是“網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取,例如:
淘寶網(wǎng):https://www.taobao.com/robots...
騰訊網(wǎng): http://www.qq.com/robots.txt
第二步:數(shù)據(jù)存儲
搜索引擎通過爬蟲爬取到的網(wǎng)頁,將數(shù)據(jù)存入原始頁面數(shù)據(jù)庫。其中的頁面數(shù)據(jù)與用戶瀏覽器得到的HTML是完全一樣的。
搜索引擎蜘蛛在抓取頁面時,也做一定的重復(fù)內(nèi)容檢測,一旦遇到訪問權(quán)重很低的網(wǎng)站上有大量抄襲、采集或者復(fù)制的內(nèi)容,很可能就不再爬行。
第三步:預(yù)處理
搜索引擎將爬蟲抓取回來的頁面,進(jìn)行各種步驟的預(yù)處理。
提取文字
中文分詞
消除噪音(比如版權(quán)聲明文字、導(dǎo)航條、廣告等……)
索引處理
鏈接關(guān)系計(jì)算
特殊文件處理等等
除了HTML文件外,搜索引擎通常還能抓取和索引以文字為基礎(chǔ)的多種文件類型,如 PDF、Word、WPS、XLS、PPT、TXT 文件等。我們在搜索結(jié)果中也經(jīng)常會看到這些文件類型。
但搜索引擎還不能處理圖片、視頻、Flash 這類非文字內(nèi)容,也不能執(zhí)行腳本和程序。
第四步:提供檢索服務(wù),網(wǎng)站排名
搜索引擎在對信息進(jìn)行組織和處理后,為用戶提供關(guān)鍵字檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶。
同時會根據(jù)頁面的PageRank值(鏈接的訪問量排名)來進(jìn)行網(wǎng)站排名,這樣Rank值高的網(wǎng)站在搜索結(jié)果中會排名較前,當(dāng)然也可以直接使用 Money 購買搜索引擎網(wǎng)站排名,簡單粗暴。
但是,這些通用性搜索引擎也存在著一定的局限性:
通用搜索引擎所返回的結(jié)果都是網(wǎng)頁,而大多情況下,網(wǎng)頁里90%的內(nèi)容對用戶來說都是無用的。
不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,搜索引擎無法提供針對具體某個用戶的搜索結(jié)果。
萬維網(wǎng)數(shù)據(jù)形式的豐富和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖片、數(shù)據(jù)庫、音頻、視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎對這些文件無能為力,不能很好地發(fā)現(xiàn)和獲取。
通用搜索引擎大多提供基于關(guān)鍵字的檢索,難以支持根據(jù)語義信息提出的查詢,無法準(zhǔn)確理解用戶的具體需求。
針對這些情況,聚焦爬蟲技術(shù)得以廣泛使用。
聚焦爬蟲
聚焦爬蟲,是"面向特定主題需求"的一種網(wǎng)絡(luò)爬蟲程序,它與通用搜索引擎爬蟲的區(qū)別在于: 聚焦爬蟲在實(shí)施網(wǎng)頁抓取時會對內(nèi)容進(jìn)行處理篩選,盡量保證只抓取與需求相關(guān)的網(wǎng)頁信息。
而我們學(xué)的爬蟲大多是聚焦爬蟲!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/43151.html
摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個提問: pyth...
摘要:時間永遠(yuǎn)都過得那么快,一晃從年注冊,到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:理解迭代對象迭代器生成器后端掘金本文源自作者的一篇博文,原文是,俺寫的這篇文章是按照自己的理解做的參考翻譯。比較的是兩個對象的內(nèi)容是后端掘金黑魔法之協(xié)程異步后端掘金本文為作者原創(chuàng),轉(zhuǎn)載請先與作者聯(lián)系。 完全理解關(guān)鍵字with與上下文管理器 - 掘金如果你有閱讀源碼的習(xí)慣,可能會看到一些優(yōu)秀的代碼經(jīng)常出現(xiàn)帶有 with 關(guān)鍵字的語句,它通常用在什么場景呢?今天就來說說 with 和 上下...
閱讀 3560·2021-09-22 15:02
閱讀 3829·2021-09-02 15:21
閱讀 2190·2019-08-30 15:55
閱讀 2860·2019-08-30 15:44
閱讀 840·2019-08-29 16:56
閱讀 2480·2019-08-23 18:22
閱讀 3403·2019-08-23 12:20
閱讀 3149·2019-08-23 11:28