天天看點

淺析 python 爬蟲(上)

學習的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小夥伴,如果您:想系統/深入學習某技術知識點…一個人摸索學習很難堅持,想組團高效學習…想寫部落格但無從下手,急需寫作幹貨注入能量…熱愛寫作,願意讓自己成為更好的人…

前言

在日常刷一些視訊的時候,總能看見一些标題為《震驚,python 查找 1000 張美女圖檔》、《重磅消息:以後這些資料都不用再付錢了》......等等 UC 震驚部的标題

雖然誇張,但這些視訊無一不是使用了 python​​爬蟲​​,這也從側面襯托出爬蟲功能的強大。

有的剛接觸爬蟲的小白會很激動,因為這意味着他們可以去“随心所欲”地去爬取任意資料,同時還為此暗自害怕與竊喜。

事實上,借用某大佬的比喻來說:爬蟲就像是一把菜刀,拿這把菜刀做菜抑或是傷人,取決于使用者。

爬蟲的分類(不重要)

由此,爬蟲中也有了分類,分别是善意爬蟲與惡意爬蟲。

善意爬蟲是在不破壞網站的前提下,合法合規地搜集資訊。

惡意爬蟲則是影響網站的正常營運,模拟大量浏覽量達到目的(例如搶票),但每個網站對于通路量的數量都不是無限的,這種惡意爬蟲很容易使網站當機。

相關技術介紹(重要)

1HTML

HTML 又稱超文本标記語言,和大佬們平時接觸的語言不同,HTML 并沒有邏輯結構,隻使用标簽來進行網站建構。

什麼是 HTML?

HTML 是用來描述網頁的一種語言。

  • HTML 指的是超文本标記語言 (Hyper Text Markup Language)
  • HTML 不是一種程式設計語言,而是一種标記語言
  • 标記語言是一套标記标簽
  • HTML 使用标記标簽來描述網頁
淺析 python 爬蟲(上)

 HTML 中的大部分标簽都是有始有終的,例如<h1></h1>、<body></body>

body {  background-color: lightblue;}h1 {  color: white;  text-align: center;}p {  font-family: verdana;  font-size: 20px;}      

複制代碼

CSS

CSS 是一種描述 HTML 文檔樣式的語言。

CSS 描述應該如何顯示 HTML 元素。

例如

body {  background-color: lightblue;} h1 {  color: white;  text-align: center;}p {  font-family: verdana; font-size: 20px;}      

複制代碼

輸出如圖

淺析 python 爬蟲(上)

 網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人)就是模拟浏覽器發送網絡請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。 原則上,隻要是浏覽器(用戶端)能做的事情,爬蟲都能夠做。 網際網路大資料時代,給予我們的是生活的便利以及海量資料爆炸式的出現在網絡中。(來自華為開發者論壇)

請求頭與響應頭

 請求頭中最常見的一些重要内容(爬蟲需要):

1、User-Agent:請求載體的身份辨別(用啥發送的請求)

2、Referer:防盜鍊(這次請求是從哪個頁面來的?反爬會用到)

3、cookie:本地字元串資料資訊(使用者登入資訊,反爬的 token)

響應頭中一些重要内容: