03-requests模块携带UA请求头,携带参数,携带cookie,持久化存储

本文介绍了Python requests模块的基础用法,包括如何在请求中添加用户代理(UA)、参数、cookie。详细阐述了如何在无痕模式下观察网络请求,理解服务器如何设置cookie。同时,解释了响应对象的重要属性,如URL、状态码、响应头等。还探讨了cookie在爬虫中的作用,展示了未携带和携带cookie请求的差异,并提供了一个自动获取cookie的案例——爬取雪球网动态加载的咨询数据。
摘要由CSDN通过智能技术生成

reques模块的基础使用方法

chrome浏览器使用方法了解新建隐身窗口的目的,了解chrome中network的使用

1,新建隐身窗口(无痕窗口
在这里插入图片描述
在这里插入图片描述

  • 浏览器中直接打开网站,会自动带上之前网站保存的cookie,但是在爬虫中首次获取页面是没有携带cookie的
  • 使用无痕窗口,首次打开网站,不会带上cookie,能够观察页面的获取情况,包括对方服务器如何设置cookie在本地
    2,chrome中network的更多功能
    在这里插入图片描述

携带请求头
在这里插入图片描述
在这里插入图片描述

携带请求参数
params 将字典或字节序列,作为参数添加到url中,get形式的参数
data 将字典或字节序列,作为参数添加到url中,post形式的参数
在这里插入图片描述
response响应对象

  • response.url 响应的url:有时候响应的url和请求的url并不一致
  • response.text 响应体 str类型
  • respones.content 响应体 bytes类型
  • response.status_code 响应状态码
  • response.request.headers 响应对应的请求头
  • response.headers 响应头
  • response.request.cookies 响应对应请求的cookie
  • response.cookies 响应的cookie(经过了set-cookie动作)
  • response.json() 自动将json字符串类型的响应内容转换为python对象(dict or list)
# -*- coding: utf-8 -*-
import requests # 调用requests模块

url = "https://www.baidu.com/s" # 目标网站url
headers = {
   
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari
### 回答1: 在使用 Pythonrequests 库发送 HTTP 请求时,可以使用 headers 参数携带 HTTP 请求头信息。 HTTP 请求头信息包含了有关客户端浏览器、操作系统、接受的内容类型和版本等信息,这些信息可以帮助服务器理解客户端的需求,并返回合适的响应。 举个例子,如果你想发送一个带有 User-Agent 请求头的 HTTP 请求,你可以这样写: ```python import requests headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get('http://www.example.com', headers=headers) ``` 在这个例子中,我们使用了 headers 参数携带一个 User-Agent 请求头,告诉服务器我们使用的是 Chrome 浏览器。 总之,使用 headers 参数携带 HTTP 请求头信息可以帮助你与服务器进行更有效的沟通,从而获得更好的响应。 ### 回答2: 在使用requests发送请求时,可以通过headers参数来自定义请求头请求头是HTTP请求中的一部分,用于向服务器传递请求的附加信息。 headers参数的作用有以下几个方面: 1. 传递用户代理信息:可以设置User-Agent字段来模拟不同浏览器发送请求,例如headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}。 2. 设置Cookie信息:可以通过headers参数设置Cookie字段,例如headers = {'Cookie': 'key=value'},让服务器判断用户的身份。 3. 设置Referer信息:可以用来标识请求的来源,有些网站可能会验证Referer字段,所以可以通过headers参数设置Referer字段来绕过这种验证。 4. 设置请求方式及编码:通过headers参数可以设置请求的方式(GET或POST)和编码方式(例如'Content-Type': 'application/json')。 5. 隐藏爬虫身份:通过自定义请求头可以隐藏爬虫的身份,以防止被网站屏蔽或封禁。 总之,headers参数可以用来携带一些额外的请求信息,帮助我们更灵活地发送请求,并且在一些特定的场景下,比如模拟浏览器行为或隐藏爬虫身份等都起到了重要的作用。 ### 回答3: requests发送请求可以通过参数`headers`来携带请求头信息。`headers`参数的作用是在请求中添加头部信息,包括用户代理、cookies、接受的语言等等。 通过设置`headers`参数,可以模拟浏览器发送请求,使得服务器能够识别请求来源,并根据不同的头部信息返回对应的内容。比如,可以设置用户代理头部来模拟不同的浏览器,从而获得不同的网页显示效果。另外,通过设置`headers`参数来添加cookies信息,可以保持用户登录状态,实现持久化会话。 除了模拟浏览器发送请求以外,`headers`参数还可以用来伪装身份、传递其他自定义的头部信息。例如,可以设置`headers`中的`Referer`字段来告诉服务器请求的来源页面,或者通过设置`User-Agent`字段来设置用户代理信息,从而实现反爬虫策略。 总之,`headers`参数requests发送请求时起到了重要的作用,它可以用来模拟浏览器行为、保持登录状态、传递其他自定义的请求头部信息等,使得请求更加灵活多样化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值