response响应对象参数和方法是啥?怎么发送带请求头的请求(headers参数)怎么发送带参数的请求?cookieJar的转换方法是什么?

在python里所有变量都是对象 

import requests

url = 'http://www.baidu.com/'

respone = requests.get(url)

# 参数
# 响应的url (访问网站被重定向 这是真地址)
print(respone.url)

# 状态码
print(respone.status_code)

# 请求头
print(respone.request.headers)

# 响应头
print(respone.headers)

# 方法
# 响应的cookie
print(respone.cookies)

# json字符串响应内容转python对象
# respone.json()

 不带参数默认utf8

respone.content.decode()


cookie状态保持

第一次访问一般没有

 

 

发送带参数的请求 

第一种是url里带参数 

第二种给参数创建字典 

import requests

url = 'https://www.baidu.com/s?'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
}

data={
    'wd':'python'
}

# 第一个是参数,第二个headers等于字典
respone = requests.get(url, headers=headers,params=data)

print(respone.content.decode())

 

成功学会最简单的伪装。 

 

带着cookie进行伪装

import requests

url = 'https://github.com/用户名'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36',
    'Cookie': '你自己的cookie'
    # 多带一个空格就会报错
}

data={
    'wd':'python'
}

# 第一个是参数,第二个headers等于字典
response = requests.get(url, headers=headers)

print(response.content.decode())

with open('github1.html', 'wb')as f:
    f.write(response.content)

cookies参数的使用

import requests

url = 'https://github.com/自己用户名'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36',

}
temp = '自己的cookie'
# 稳妥方案
cookie_list = temp.split(';')
cookies = {}
for cookie in cookie_list:
    cookies[cookie.split('=')[0]] = cookie.split('=')[-1]

response = requests.get(url, headers=headers, cookies=cookies)

print(response.content.decode())

with open('github2.html', 'wb')as f:
    f.write(response.content)

 假如你字典推导式很溜

cookies = {cookie.split('=')[0]:cookie.split('=')[-1]for cookie in cookie_list}

cookies = {}
for cookie in cookie_list:
    cookies[cookie.split('=')[0]] = cookie.split('=')[-1]

 这两个是一样的。

 

一个获得cookie不常使用的小工具

cookieJar的转换方法

import requests

url = 'https://www.baidu.com/'
response = requests.get(url)
# response.cookies 是 cookieJar对象
print(response.cookies)
# 对象变字典
dict_cookies = requests.utils.dict_from_cookiejar(response.cookies)
print(dict_cookies)
#字典变对象
jar_cookies = requests.utils.cookiejar_from_dict(dict_cookies)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值