日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01-爬虫的概述

發(fā)布時(shí)間:2024/9/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01-爬虫的概述 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


什么是爬蟲

  • 我們首先需要知道什么是爬蟲。爬蟲,即網(wǎng)絡(luò)爬蟲,大家可以理解為在網(wǎng)絡(luò)上爬行的一只蜘蛛,互聯(lián)網(wǎng)就比作一張大網(wǎng),而爬蟲便是在這張網(wǎng)上爬來爬去的蜘蛛,如果它遇到自己的獵物(所需要的資源),那么它就會(huì)將其抓取下來。比如它在抓取一個(gè)網(wǎng)頁,在這個(gè)網(wǎng)中他發(fā)現(xiàn)了一條道路,其實(shí)就是指向網(wǎng)頁的超鏈接,那么它就可以爬到另一張網(wǎng)上來獲取數(shù)據(jù)。
  • 因?yàn)閜ython的腳本特性,python易于配置,對(duì)字符的處理也非常靈活,加上python有豐富的網(wǎng)絡(luò)抓取模塊,所以兩者經(jīng)常聯(lián)系在一起。Python爬蟲開發(fā)工程師,從網(wǎng)站某一個(gè)頁面(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個(gè)網(wǎng)頁,這樣一直循環(huán)下去,直到把這個(gè)網(wǎng)站所有的網(wǎng)頁都抓取完為止。如果把整個(gè)互聯(lián)網(wǎng)當(dāng)成一個(gè)網(wǎng)站,那么網(wǎng)絡(luò)蜘蛛就可以用這個(gè)原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來。
  • 爬蟲可以抓取某個(gè)網(wǎng)站或者某個(gè)應(yīng)用的內(nèi)容,提取有用的價(jià)值。也可以模擬用戶在瀏覽器或者App應(yīng)用上的操作,實(shí)現(xiàn)自動(dòng)化的程序。


哪些語言可以實(shí)現(xiàn)爬蟲

  • php:可以實(shí)現(xiàn)爬蟲。php被號(hào)稱是全世界最優(yōu)美的語言(,但是php在實(shí)現(xiàn)爬蟲中支持多線程和多進(jìn)程方面做的不好。

  • java:可以實(shí)現(xiàn)爬蟲。java可以非常好的處理和實(shí)現(xiàn)爬蟲,但是java實(shí)現(xiàn)爬蟲代碼較為臃腫,重構(gòu)成本較大。

  • c、c++:可以實(shí)現(xiàn)爬蟲。但是使用這種方式實(shí)現(xiàn)爬蟲純粹(大佬們)能力的體現(xiàn),卻不是明智和合理的選擇。

  • python:可以實(shí)現(xiàn)爬蟲。python實(shí)現(xiàn)和處理爬蟲語法簡單,代碼優(yōu)美,支持的模塊繁多,學(xué)習(xí)成本低,具有非常強(qiáng)大的框架(scrapy等)。

爬蟲的分類

  • 通用爬蟲:通用爬蟲是搜索引擎(Baidu、Google、火狐等)“抓取系統(tǒng)”的重要組成部分。主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個(gè)互聯(lián)網(wǎng)內(nèi)容的鏡像備份。 簡單來講就是盡可能的;把互聯(lián)網(wǎng)上的所有的網(wǎng)頁下載下來,放到本地服務(wù)器里形成備分,在對(duì)這些網(wǎng)頁做相關(guān)處理(提取關(guān)鍵字、去掉廣告),最后提供一個(gè)用戶檢索接口。
    搜索引擎如何抓取互聯(lián)網(wǎng)上的網(wǎng)站數(shù)據(jù)?
    門戶網(wǎng)站主動(dòng)向搜索引擎公司提供其網(wǎng)站的url
    搜索引擎公司與DNS服務(wù)商合作,獲取網(wǎng)站的url
    門戶網(wǎng)站主動(dòng)掛靠在一些知名網(wǎng)站的友情鏈接中
  • 聚焦爬蟲:聚焦爬蟲是根據(jù)指定的需求抓取網(wǎng)絡(luò)上指定的數(shù)據(jù)。例如:獲取豆瓣上電影的名稱和影評(píng),而不是獲取整張頁面中所有的數(shù)據(jù)值。

爬蟲的流程

  • 指定url
  • 基于請(qǐng)求模塊 如requests 模塊發(fā)起請(qǐng)求
  • 獲取響應(yīng)對(duì)象中的數(shù)據(jù)值
  • 持久化存儲(chǔ)

http與https的概念和區(qū)別

  • HTTP:是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)(TCP),用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。

  • HTTPS:是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。

  • HTTPS和HTTP的區(qū)別主要如下:

    • 1、https協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。
    • 2、http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。
    • 3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
    • 4、http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。

robots.txt協(xié)議

  • 如果自己的門戶網(wǎng)站中的指定頁面中的數(shù)據(jù)不想讓爬蟲程序爬取到的話,那么則可以通過編寫一個(gè)robots.txt的協(xié)議文件來約束爬蟲程序的數(shù)據(jù)爬取。robots協(xié)議的編寫格式可以觀察淘寶網(wǎng)的robots(訪問www.taobao.com/robots.txt即可)。但是需要注意的是,該協(xié)議只是相當(dāng)于口頭的協(xié)議,并沒有使用相關(guān)技術(shù)進(jìn)行強(qiáng)制管制,所以該協(xié)議是防君子不防小人。但是我們?cè)趯W(xué)習(xí)爬蟲階段編寫的爬蟲程序可以先忽略robots協(xié)議。
    反爬蟲
  • 門戶網(wǎng)站通過相應(yīng)的策略和技術(shù)手段,防止爬蟲程序進(jìn)行網(wǎng)站數(shù)據(jù)的爬取。
    反反爬蟲
  • 爬蟲程序通過相應(yīng)的策略和技術(shù)手段,破解門戶網(wǎng)站的反爬蟲手段,從而爬取到相應(yīng)的數(shù)據(jù)。

總結(jié)

以上是生活随笔為你收集整理的01-爬虫的概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。