背景:从网站主页进入搜索页面,在搜索页面中传入搜索词获取结果列表页面。(搜索页面是一个302重定向请求;结果列表页则是一个post请求)
步骤:
一般来说,分析网页接口,最好打开一个无痕浏览器,在进入网站主页之前就打开开发者工具。
一、获取cookie
request headers里有cookie,所以请求头里需要带有cookie,那么cookie如何获取?
- 在Network中搜索一下set-cookie:
- 发现第一个接口中能获取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中的一些参数,就可以从之前请求到的搜索页面获取。(这里不展开说,因为本文只是提供一个整体思路)
如果有表达和步骤上的问题欢迎大家留言指正。