Python 爬蟲零基礎教程(1):爬單個圖片

v1coder發表於2024-03-13

程式碼:

import requests

url = 'https://cdn.pixabay.com/photo/2018/01/04/07/59/salt-3060093_960_720.jpg'

data = requests.get(url).content

f = open('1.jpg', 'wb')
f.write(data)
f.close()

print('OK')


解釋程式碼

變數

程式碼中的 url、data、f 都是變數,也可以給他們取別的名字:a、b、c,或者x、y、z 都可以

url = 'https://cdn.pixabay.com/photo/2018/01/04/07/59/salt-3060093_960_720.jpg'

這行程式碼表示把圖片的網址賦值給變數 url。

在之後的程式碼中 url 就代指這個網址。

Python 用等號=來給變數賦值,等號左邊是變數名,等號右邊是儲存在變數中的值。

Python 的變數賦值不需要宣告變數型別。

變數命名規則:

  • 只能包含字母、數字和下劃線,並且不能以數字開頭。
  • 區分大小寫字母,如果寫錯了大小寫,程式會報錯。
  • 不能使用保留字

通常以“小寫字母,單詞之間用 _ 分割”的方式來給普通變數名。
this_is_a_var


字串

'https://cdn.pixabay.com/photo/2018/01/04/07/59/salt-3060093_960_720.jpg'

就是字串。

在 Python 中,可以用成對的單引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字串,其中三引號可以跨行。

字串是程式語言中表示文字的資料型別。


requests 庫

使用之前要先匯入import requests 。(別的Python程式設計工具需要先安裝 requests,Anaconda不用)

data = requests.get(url).content

可以分成兩段:

response = requests.get(url)
data = response.content

response 和 data 當然都是變數

response = requests.get() 表示使用requests庫的get函式,獲取網頁,並賦值給變數 response

data = response.content 表示把變數response的資料以二進位制的格式返回,賦值給變數data

requests.get(url).content 以後會經常用到。


檔案的開啟

f = open('1.jpg', 'wb')

這行程式碼表示在當前目錄開啟一個名為1.jpg 的檔案,賦值給變數 f。如果該檔案已存在則將其覆蓋,如果該檔案不存在,建立新檔案。

函式 open() 的語法為: open(路徑+檔名,讀寫模式)

如果沒有“路徑”則是在當前目錄。當前目錄的意思是包含這段程式碼的 .py 檔案所在的資料夾。

路徑+檔名讀寫模式 都是字串型別。

讀寫模式有很多種,寫爬蟲一般用 wb 模式:以二進位制格式開啟一個檔案只用於寫入,如果該檔案已存在則將其覆蓋,如果該檔案不存在,建立新檔案。


檔案的寫入

f.write(data)

表示將data寫入 f 檔案。

write() 方法,將字串寫入一個開啟的檔案。


檔案的關閉

f.close()

表示關閉檔案 f。檔案開啟後,無論進行讀、寫或其他什麼操作,最後都要關閉。


輸出到螢幕

print('OK')

在螢幕上輸出字串 OK。
print 用於列印輸出。在 Python2.x 版本可以 print 'ok' 也可以 print('OK') ,而在 Python3.x 必須 print('OK')

這句程式碼的作用是告訴我們全部程式碼已經執行完畢,圖片下載好了。沒有這句也不影響下載圖片。


Python 基礎語法:

每一行是一個語句,語句無需以 ;結尾。不需要大括號 {} 來控制類、函式以及其他邏輯判斷。

Python 用縮排表示邏輯層次。當語句以冒號 : 結尾時,下一行程式碼需要縮排。

沒有規定縮排是幾個空格還是Tab,但是所有程式碼的縮排必須相同。約定俗成是4個空格的縮排。

縮排很方便,但也有壞處,Python 程式碼“複製-貼上”後需要重新檢查縮排是否正確。



執行程式碼

開啟Spyder,點選左上角的“新建”。

把最上面的程式碼複製到左邊的編輯區,點選“執行”
image


在彈出的對話方塊裡輸入檔名,以 .py 為字尾,選擇存放位置,點選儲存。
image


等待幾秒鐘,Spyder的右側輸出OK,說明圖片下載成功。
image


圖片下載到和上面的 .py 檔案相同的目錄。檔名為 1.jpg
image


好啦,第一個 Python 爬蟲成功了。

可以把 url 的賦值改為其他圖片的地址來下載其他圖片。

如何獲取圖片地址:網頁上右鍵點選圖片,選擇“複製圖片地址”
image


你可能覺得用爬蟲下載圖片還不如手動下載方便。

因為這才剛剛開始,後面我們會給爬蟲新增自動化,還可以進行篩選。




Spyder 簡介

image

左邊是程式碼編輯區。

右邊下半部分是 Ipython ,左邊程式碼的 print 都會顯示在 Ipython。

Ipython 還可以進行一行行的互動。
image


右邊的上半部分不常用,可以連續點選 X 將其關閉
image


最後變成這樣:
image



此文章是我原創,20180114 釋出於我在其他平臺的部落格,現同步在此

我的公號:v1coder
我的部落格:v1coder.com
我的GitHub:https://github.com/v1coder

相關文章