浅谈python请求302重定向页面的思路,以及cookies获取。

582 阅读1分钟

背景:从网站主页进入搜索页面,在搜索页面中传入搜索词获取结果列表页面。(搜索页面是一个302重定向请求;结果列表页则是一个post请求)

步骤:

一般来说,分析网页接口,最好打开一个无痕浏览器,在进入网站主页之前就打开开发者工具。

一、获取cookie

request headers里有cookie,所以请求头里需要带有cookie,那么cookie如何获取?

  1. 在Network中搜索一下set-cookie:

set-cookie.png

  1. 发现第一个接口中能获取cookie的值。所以先请求一下该接口获取cookie
session = requests.session()
session.headers.update(headers)
cookie_url = "https://www.business..."
session.get(cookie_url)

ps: 之后就可以用这种方式拿到字典格式的cookie:

dict(session.cookies)

二、请求搜索页面

session中有cookie后,就可以正式请求搜索页面。对于302重定向来说,直接请求最开始的302接口,无论中间还有多少302,返回的内容都是最终的那个200请求。

三、请求结果列表页

请求到搜索页面后,还需要传入搜索词,请求到最终的搜索结果页面。结果页面的headers和payload中的一些参数,就可以从之前请求到的搜索页面获取。(这里不展开说,因为本文只是提供一个整体思路)

如果有表达和步骤上的问题欢迎大家留言指正。