爬蟲01

數(shù)據(jù)如何產(chǎn)生?

1.大公司,大企業(yè):通過用戶產(chǎn)生

2.大的數(shù)據(jù)平臺(tái):通過收集或者其他企業(yè)或者公司合作

3.國家或政府機(jī)構(gòu):通過省縣鄉(xiāng)或者其他方式統(tǒng)計(jì)匯總產(chǎn)生

4.數(shù)據(jù)咨詢公司:通過收集或者其他企業(yè)或者合作公司,會(huì)根據(jù)數(shù)據(jù)做分析對(duì)比形成報(bào)表,給你做參考

  1. 以上方式都用不上的情況下就要用到爬蟲

什么是爬蟲?

1.自動(dòng)獲取網(wǎng)頁的數(shù)據(jù)

爬蟲有什么用途?

1.搜索引擎

網(wǎng)站的三大特性:

  1. 每一個(gè)資源都有一個(gè)url(資源定位符),是唯一的

  2. 網(wǎng)頁都是使用HTML(超文本)展示數(shù)據(jù)的

  3. 通過HTTP/HTTPS(超文本傳輸協(xié)議),獲取和傳遞HTML

如何實(shí)現(xiàn)一個(gè)爬蟲?

  1. 找到目標(biāo)url

  2. 根據(jù)url發(fā)起請(qǐng)求

  3. 解析響應(yīng)結(jié)果:提取目標(biāo)數(shù)據(jù);如何存在新的url,需要進(jìn)一步提?。〞?huì)執(zhí)行1-3這個(gè)循環(huán))

  4. 爬蟲結(jié)束:所有符合條件的url請(qǐng)求全部獲取完畢,意味著爬蟲結(jié)束

為什么要使用python做爬蟲?

Python:語法簡潔,代碼優(yōu)美,可讀性比較高,并且對(duì)各模塊的支持比較好,有很多強(qiáng)大的三方包,對(duì)多任務(wù)的處理也比較好,urllib,request都能夠很好的幫助我們實(shí)現(xiàn)一個(gè)爬蟲項(xiàng)目,解析的庫也非常多(lxml,bs4, pyquery...),并且還有強(qiáng)大的scrapy爬蟲框架和scrapy_redis分布式爬蟲框架,并且python作為一門膠水語言,對(duì)于其他語言的調(diào)度也是非常方便的。

爬蟲分為兩類:

通用爬蟲:通用爬蟲是瀏覽器的重要組成部分,將互聯(lián)網(wǎng)上所有的網(wǎng)頁下載到本地,做了一個(gè)鏡像備份,提取重要數(shù)據(jù)(過濾數(shù)據(jù),分詞,去廣告等等...); 步驟跟上面的類似 搜索引擎的爬取的url通過什么方式獲取的? 一. 通過網(wǎng)站的外鏈 二. 通過網(wǎng)頁提交url:(百度:<u>http://zhanzhang.baidu.com/linksubmit/url)</u> 三. 各大搜索引擎公司也會(huì)和DNS服務(wù)商合作 通用爬蟲的缺點(diǎn):需要遵守robot協(xié)議(爬蟲協(xié)議,機(jī)器人協(xié)議);搜索引擎返回的結(jié)果千篇一律沒有很好的針對(duì)性,不能夠?qū)μ厥獾挠脩羧后w返回對(duì)應(yīng)的數(shù)據(jù);搜索引擎一般情況下獲取的是文本信息,處理圖像,音頻,視頻多媒體還是有困難的

  1. 聚焦爬蟲: 是面向主題的爬蟲,由需求產(chǎn)生的,是一種定向的爬蟲,在爬取網(wǎng)頁數(shù)據(jù)的時(shí)候,會(huì)對(duì)網(wǎng)頁數(shù)據(jù)進(jìn)行一些篩選,保證只抓取和需求相關(guān)的數(shù)據(jù)

  2. 做爬蟲需要掌握的基本知識(shí):

? Python的基本語法

? 前端知識(shí)

? 數(shù)據(jù)持久化的知識(shí)(數(shù)據(jù)庫,文件儲(chǔ)存)

? 了解基本的反爬蟲的手段(header請(qǐng)求頭,驗(yàn)證碼,cookie,代理)

? 靜態(tài)頁面和動(dòng)態(tài)頁面(Ajax,js,selenium(獲取的頁面源碼是經(jīng)過瀏覽器渲染之后的最終結(jié)果))

? 多任務(wù)處理,爬蟲框架,分布式爬蟲等等

  1. HTTP:超文本傳輸協(xié)議,主要使用來將html文件傳輸?shù)奖镜貫g覽器

  2. HTTPS:作用和HTTP一致,只是多了SSL(安全套接字),保證數(shù)據(jù)傳輸?shù)陌踩裕?/p>

a. 建立一個(gè)安全有效的數(shù)據(jù)傳輸通道,保證數(shù)據(jù)的安全性

b. 確定網(wǎng)站的安全性和有效性

  1. url組成部分: 基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]

· scheme:協(xié)議(例如:http, https, ftp)

· host:服務(wù)器的IP地址或者域名

· port#:服務(wù)器的端口(如果是走協(xié)議默認(rèn)端口,缺省端口80)

· path:訪問資源的路徑

· query-string:參數(shù),發(fā)送給http服務(wù)器的數(shù)據(jù)

· anchor:錨(跳轉(zhuǎn)到網(wǎng)頁的指定錨點(diǎn)位置)

  1. 請(qǐng)求頭: User-Agent: 模擬瀏覽器加載 Cookies: 攜帶cookies第一可以維持會(huì)話,告訴瀏覽器用戶的身份信息 Refere: 告訴瀏覽器當(dāng)前請(qǐng)求是從哪個(gè)頁面發(fā)起的

  2. 常見的狀態(tài)嗎: 100~199:表示服務(wù)器成功接收部分請(qǐng)求,要求客戶端繼續(xù)提交其余請(qǐng)求才能完成整個(gè)處理過程。 200~299:表示服務(wù)器成功接收請(qǐng)求并已完成整個(gè)處理過程。常用200(OK 請(qǐng)求成功)。 300~399:為完成請(qǐng)求,客戶需進(jìn)一步細(xì)化請(qǐng)求。例如:請(qǐng)求的資源已經(jīng)移動(dòng)一個(gè)新地址、 常用302(所請(qǐng)求的頁面已經(jīng)臨時(shí)轉(zhuǎn)移至新的url)、 307和304(使用緩存資源)。 400~499:客戶端的請(qǐng)求有錯(cuò)誤,常用404(服務(wù)器無法找到被請(qǐng)求的頁面)、403(服務(wù)器拒絕訪問,權(quán)限不夠),401(未認(rèn)證)。 500~599:服務(wù)器端出現(xiàn)錯(cuò)誤,常用500(請(qǐng)求未完成。服務(wù)器遇到不可預(yù)知的情況)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 爬蟲概述 1. 目錄清單 爬蟲簡介 通用爬蟲和聚焦爬蟲 網(wǎng)絡(luò)請(qǐng)求那些事兒 網(wǎng)絡(luò)數(shù)據(jù)抓包分析 2. 章節(jié)內(nèi)容 2.1...
    小皇帝s閱讀 733評(píng)論 0 1
  • 爬蟲概述 1.目錄清單 爬蟲簡介 通用爬蟲和聚焦爬蟲 網(wǎng)絡(luò)請(qǐng)求那些事兒 網(wǎng)絡(luò)數(shù)據(jù)抓包分析 2.章節(jié)內(nèi)容 2.1爬蟲...
    盧子野閱讀 425評(píng)論 0 0
  • 前端開發(fā)者丨h(huán)ttp請(qǐng)求 https:www.rokub.com 前言見解有限, 如有描述不當(dāng)之處, 請(qǐng)幫忙指出,...
    麋鹿_720a閱讀 11,284評(píng)論 11 31
  • HTTP基本原理 URI、URL、URN(Uninform Resource) URI(Identifier):統(tǒng)...
    GHope閱讀 2,285評(píng)論 2 26
  • 我聽到了炭火烤肉的滋滋聲, 她的話已然穿透了我的皮肉, 正在以一顆流星劃過的趨勢(shì), 沖向我的心肝脾肺腎。 所幸這些...
    扶斯特閱讀 188評(píng)論 0 1

友情鏈接更多精彩內(nèi)容