python中的get用法

在python常見的.get()使用方法中,用的最多的場合是在python字典和requests庫的情形中。

一、python字典中的get方法

python字典的get方法會返回指定鍵的值,dict.get(‘鍵’),返回“鍵”對應的“值”,如果鍵不在字典中則返回默認值None。代碼附上:

dict1={'國家':'中國','首都':'北京'}
print(dict1.get('國家'))
print(dict1.get('首都'))
print(dict1.get('省會'))

輸出爲:
中國
北京
None
如果鍵不在字典中,想要自己設置返回值,可以這樣處理,例如dict.get(‘鍵’,‘never’),鍵在字典中,則返回鍵對應的值,鍵不在字典中,則返回never。

dict1={'國家':'中國','首都':'北京'}
print(dict1.get('國家'))
print(dict1.get('首都','never'))
print(dict1.get('省會','never'))

輸出爲:
中國
北京
never

二、requests庫中的get方法

requests庫是一個常用的用於http請求的模塊,它使用python語言編寫,可以方便的對網頁進行爬取,是學習python爬蟲的較好的http請求模塊。request的get方法,通過r=requests.get(url)構造一個向服務器請求資源的url對象,對應解釋如下:
requests:返回一個包含服務器資源的response對象(response對象:包含返回的所有資源)
get():構造一個向服務器請求資源的requests對象
完整的requests使用方法包含3個參數,requests.get(url,params=None,*kwarge),其中
url:獲取頁面的url鏈接
params:url中的額外參數,字典或字節流格式,可選
**kwargs:12個控制訪問的參數
response對象有以下屬性:

屬性 說明
r.status_code http請求的返回狀態,若爲200則表示請求成功
r.text http響應內容的字符串形式,即返回的頁面內容
r.encoding 從http header 中猜測的相應內容編碼方式
r.apparent_encoding 從內容中分析出的響應內容編碼方式(備選編碼方式)
r.content http響應內容的二進制形式
import requests
url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=李嘉欣&pn=0'
r = requests.get(url)
print(r.status_code)
print(r.encoding)
print(r.apparent_encoding)

輸出爲:
200
UTF-8
utf-8
順着requests庫的get用法,爬取一組指定類型的圖片,在這裏選擇從百度圖片爬取名爲“李嘉欣”的一組圖片,附上代碼:

import requests
import re
num=0
url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=李嘉欣&pn=0'
r = requests.get(url)
result = r.text
pic_url = re.findall('"objURL":"(.*?)",', result, re.S)
for each in pic_url:
    print('正在下載第' + str(num + 1) + '張圖片,圖片地址:' + str(each))
    pic = requests.get(each, timeout=7)
    string = '李嘉欣'+ r'\\' + '李嘉欣' + '_' + str(num+1) + '.jpg'
    fp = open(string, 'wb')
    fp.write(pic.content)
    fp.close()
    num += 1

隨機選擇兩張圖片,查看一下
在這裏插入圖片描述
在這裏插入圖片描述
以上就是本文的所有內容,如果本文對你有幫助,可以給我點個贊,加個關注,謝謝!

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