一個初學者所理解的爬蟲(簡介)

爬蟲簡介:

1.通訊協議:

計算機網絡中多臺計算機之間進行通訊所必須遵守的規則;
爬蟲遵守http協議,也稱作超文本傳輸協議,端口默認爲80;

2.什麼是爬蟲?

根據某個或多個條件獲取相應的信息,簡而言之,就是獲取自己想要的數據
例:一個天氣網站中,我需要獲取一個月中陰雨天的天數等等。

3.爬蟲可以帶來的利益:

公司獲取數據的方式:公司自有的數據庫,第三方平臺購買的數據,還有就是爬蟲爬取的數據。
個人:購買數據是非常昂貴的,你自己用又得不償失,例如參加比賽等燈,而你會爬蟲,那可以輕鬆爬取自己想要的數據,而且還不用花錢,更重要一點,如果你的爬蟲爬的Great的話,你也可以成爲賣數據的一方。
正所謂授人以魚不如授人以漁,掌握這門技術,你便可以遊走於百度谷歌等各種搜索引擎之間,開門便獲取到想要的數據,豈不快哉。

4.爲何使用python做爬蟲的優勢

1.語言易學性:學習一門python入門。只需一個禮拜,我指的是一天至少三小時,而想要學c入門,還要學指針啥玩意的,那可太難了,c的可謂進階更難,
2.代碼簡易:python是開源的,具備了很多強大開源庫,往往實現某個功能,僅需import一個庫,然後幾行代碼完美搞定,而反觀java以及c++`c#,代碼過於繁重。

5.爬蟲的分類

通用網絡爬蟲:例如百度谷歌等等搜索引擎

聚焦網絡爬蟲:根據既定的目標抓取need 的數據(爬蟲基本上玩的就是這個)

增量式網絡爬蟲:指對原爬取的網頁進行增量式的更新喝只爬行新產生或者發生變化的爬蟲

深層網絡爬蟲:指對下載的網頁採取不能通過靜態鏈接獲取的、隱藏在搜索表單後的,只有用戶提交了某個數據後才能繼續獲取相應的數據的。例如12306必須登陸後纔可以看到票的信息

6.基礎不能再基礎的概念

爲說說他基礎的不能再基礎,甭管你使用那種方式甚至語言進行爬取數據都必不可少。

6.1GET和POST

GET:查詢參數都會再URL上顯示出來
POST:查詢參數和·需要提交數據是隱藏在Form表單裏的,並不會在URL地址上顯示出來

6.2URL的組成
例:
https://editor.csdn.net/md?articleId=106351472
URL:統一資源定位符
https:協議
editor.csdn.net:主機名可以將理解爲一臺名叫editor.csdn.net的機器,在這臺主機的editor.csdn.net域名下
port端口號:80,在editor.csdn.net後,一般省略
md是editor.csdn.net機器下的文件路徑
注意:在瀏覽器請求一個url,瀏覽器會對這個url進行編碼(除數字、英文字母及部分可識別的標識的其他全部使用%加16進制進行編碼)
如:百度搜索:妹子
https://www.baidu.com/s?ie=UTF-8&wd=%E5%A6%B9%E5%AD%90
6.3User-Agent
***第一步反爬
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36

6.4 Refer
表明當前這個請求是從哪個url過來的(也就是主頁),一般情況下可以用來做反爬技術
6.5 狀態碼
200:請求成功
301:永久重定向
302:臨時重定向
403:服務器拒絕請求
404:請求失敗(服務器無法根據客戶端的請求找到資源(網頁))
500:服務器內部請求

抓包工具

瀏覽器自帶
在這裏插入圖片描述
前四個依次:
1:網頁源代碼,是經過特殊處理的,並不是全部都準確
2:控制檯
3:信息來源(整個網站加載的文件)
4:網絡工作(信息抓包)能夠看到很多的王爺請求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章