python爬蟲:爬蟲的簡單介紹及requests模組的簡單使用

  • 2022 年 2 月 24 日
  • 筆記

python爬蟲:爬蟲的簡單介紹及requests模組的簡單使用😜

一點點的建議:😶

(學習爬蟲前建議先去了解一下前端的知識,不要求很熟悉,差不多入門即可學習爬蟲,如果有不了解的,我也會補充個一些小知識.)

(了解一些前端的知識對於學習爬蟲有很大的幫助.)

這邊還是先說一下,作者使用pycharm,推薦這個軟體,因為這個文本編譯器,有很多優秀的功能,對於新手也是非常友好的。(以後如果工作,可能是寫python的程式設計師,用到這個軟體的頻率也是很高的。)

————————————————————————————————————————————————————————————————

😬一個問題:

question: 為什麼我們編寫爬蟲就可以獲取網頁里的各種數據,程式碼 ?

  我們使用瀏覽器上網,來獲取網頁,從而來獲得我們想要的內容,

而我們編寫爬蟲,其實就是模擬瀏覽器上網,來獲取網頁中我們想要的內容。

1.一點介紹

requests 模組:

requests 模組是爬蟲的最重要的部分之一,我們通過這個模組,來獲取網頁的數據,

像我們比如說,要獲取某個網頁的網頁源碼,或者是要爬取B站的某個up主的粉絲數,

或者你為了能夠在一些網站白嫖某些小說,就用到了requests模組,

(註:為了獲取網頁的數據,requests模組並不是唯一的,在python中還有urllib模組,

也可以獲取網頁數據,但是urllib模組相對比較老,且不比requests模組方便,所以作者在這邊選擇requests模組。)


2.requests模組學習

一點前端知識:

http的請求類型有很多種,我們寫爬蟲時主要是用到post和get這兩種。(其他的也有用,暫時不做介紹)

簡單說一下,暫時就先知道get可以直接獲取網頁的內容,

但是有些網頁的載入,需要用戶輸入參數才能動態載入出來,所以就比較需要post,它可以攜帶一些參數,從而返回我們想要的內容。


在導入requests模組後,我們就可以使用裡面的對象來實現我們的要求。

requests.get(url=”…”,headers=…):這個函數可以返回我們想要的數據,不過返回的是一個對象,我們要自己定義個對象來承接,然後可以將其重構成我們想要的格式。

requests.post(url=”…”,headers=…,params=…):這個跟get差不多,區別是後面params攜帶的是你要的參數。(比如你要做一個翻譯器,params就可以是你要翻譯的內容。)

url就是你要爬取的網址,像headers的話,就是用來包裝你的爬蟲,讓你的爬蟲偽裝成瀏覽器,(因為大部分的網站,會有反爬機制,他不想讓爬蟲來爬取自己的內容,所以我們就需要包裝一下我們的爬蟲。)這樣就可以成功爬取網頁。


爬蟲的步驟:(怎麼寫爬蟲)

一般來說,爬蟲的步驟,可以概括為,指定url,獲取網頁內容,解析網頁內容,最後進行存儲。然後比如你要做一些特定需求的爬蟲,也是在這些步驟之上,做些變化而已。

實戰1:爬取搜狗搜索的網頁程式碼。

<1>安裝包

在自己電腦的終端輸入”pip install requests”即可成功安裝requests包。

<2>開始寫程式碼

(自己寫,這邊貼作者程式碼,還有就是這邊爬取這個搜狗的程式碼,不需要用到headers包裝。)

爬取完了之後,作者是存到了自己的文件夾下面,然後打開 搜狗.html ,我們就可以看到網頁的源碼了。

如下圖:

看起來是不是很抽象,看不懂,我們這時候,只要用編譯器打開你爬取回來的網頁程式碼,就可以看見你爬取回來的,是不是正確的網頁源碼。

比如這個搜狗的搜索網頁:

在這裡這一句,就可以充分表明,是你自己本地的網頁,而不是自己又打開了搜狗搜索的網頁。

<3>最後講兩句

爬蟲要學習的內容還有很多,這裡只是入入門,打個樣讓大家嘗試一下,給大家一個大致印象,接下來需要更多練習跟學習來學爬蟲。可以多上上影片網站看看。

(作者的更新周期很長,平常可能記起來要寫部落格才寫的😳)