Python 3.6 之 requests模块的学习

本文详细介绍了Python 3.6中requests模块的使用,包括发送GET和POST请求、设置请求头、处理响应数据以及处理cookies等关键功能,旨在帮助读者掌握网络爬虫基础。
摘要由CSDN通过智能技术生成
# requests.get()方法:
'''
get()向服务器发送一个GET的请求,这里可以理解为向服务器发送了一个包含了各种信息的Request对象,
def get(url, params=None, **kwargs),其中重要的参数有:
1、url: 具体的URL请求地址;
2、params: (可选) 字典或者字节流,通过请求一起传送;
3、**kwargs:其他可能需要增加的额外数据
4、返回一个requests.Response对象。
'''

# 仅有URL参数
import requests 
r = requests.get('https://www .baidu.com/') 
print(type(r)) 
print(r.status_code) 
print (type(r.text)) 
print(r.text) 
print(r.cookies)


# 有URL和params参数
import requests 
data = {
  'name':'xieyuxi', 'age': 22}
r = requests.get('http://httpbin.org/get', params=data) 
#print(r.text) 
# 这里网站返回的是Json格式的string,如果要直接解析放回结构得到一个字典,可以直接调用json()方法:
print(type(r)) #<class 'requests.models.Response'>
print(r.json())
print(type(r.json()))
print(isinstance(r.json(),dict))

# 有URL和headers参数:
import requests
import re
headers = {
  'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36'}
r = requests.get('https://www.zhihu.com/explore', headers=headers) 
pattern = re.compile('xplore-feed.*?question_link.*?>(.*?)</a>', re.S) 
titles = re.findall(pattern, r.text) 
print(str(titles).replace('\\n',''))


# 下载图片并保存
import requests
r = requests.get('https://github.com/favicon.ico')
with open('favicon.ico','wb') as f:
    f.write(r.content)
'''

# requests.post()方法:
'''
def post(url, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值