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

随机选择两张图片,查看一下
在这里插入图片描述
在这里插入图片描述
以上就是本文的所有内容,如果本文对你有帮助,可以给我点个赞,加个关注,谢谢!

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