python爬虫-某公开数据网站实例小记

注意!!!!某XX网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!!

第一步:分析页面和请求方式

此网站没有技巧的加密,仅是需要携带cookie和请求格式,因此本文主要进行分析重点的2次请求

第二步:请求页面并分析请求

可以看到出现了三次请求,前两次请求为302 重定向,第三次请求状态为200

第三步:分析第一次请求

可以看到第一次请求在响应headers 可以获得set-cookie,同时也可以看到第一次请求后被重定向到指定地址Location

第四步:分析第二次请求,**注意!注意!注意!**这步请求很重要

可以看到第二次请求使用的是第一次请求后响应的重定向网址(也就是第一次请求302响应得到的location)和cookie,这步很重要。

第一请求------>302(重定向)------>response.headers.Location和set-cookie
第二次请求(第一次请求的response.headers.Location
)--->302(重定向)------>response.headers.Location (第二次请求后的重定向网址可以忽略,可以直接请求目标网址)

第五步:请求目标链接

可以看到报文头中携带了cookie和内容类型。注意这两个参数很重要。

第六步:上代码

python 复制代码
# -*- coding:utf-8 -*-
# @Time : 2023/12/6 12:01
# @Author: 水兵没月
# @File : 某网址-cookie.py
# @Software: PyCharm
import json
import random

import requests

headers = {
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "Accept-Encoding":"gzip, deflate",
    "Accept-Language":"zh-CN,zh;q=0.9",
    "Cache-Control":"no-cache",
    "Connection":"keep-alive",
    "Content-Type":"application/json",
    "Host":"XXX.XXX.XX.XXX:8081",
    "Pragma":"no-cache",
    "Upgrade-Insecure-Requests":"1",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",

}
# 第一次请求
res = requests.Session().get("http://XXX.XXX.XX.XXX:8081/cx/", verify=False,headers=headers, allow_redirects=False)  # verify=False,
cookies = res.cookies.items()
cookie = ''
for name, value in cookies:
    cookie += '{0}={1};'.format(name, value)
print(cookie)
headers['Cookie'] = cookie

# 第二次请求
requests.Session().get(res.headers.get("Location"), verify=False,headers=headers, allow_redirects=False)

# 目标请求
url = "http://XXX.XXX.XX.XXX:8081/cx/api/cxsj/syscqyinfo/list"
data = {"page":1,"rows":100,"conditionItems":[]}
print(headers)
res = requests.session().post(url=url, data=json.dumps(data), headers=headers, verify=False)  #
res.encoding = 'UTF-8'
print(res.text)

仅作为笔记记录,如有问题请各位大佬来指导

相关推荐
专注VB编程开发20年几秒前
c#模仿内置 Socket.Receive(无需 out/ref,直接写回数据)
开发语言·c#
爱内卷的学霸一枚几秒前
Python并发编程与性能优化实战指南
开发语言·python·性能优化
jaysee-sjc2 分钟前
【项目二】用GUI编程实现石头迷阵游戏
java·开发语言·算法·游戏
Blurpath住宅代理3 分钟前
如何在Python爬虫中使用代理IP?从配置到轮换的完整指南
网络·爬虫·python·住宅ip·住宅代理·动态住宅代理
DeniuHe5 分钟前
Pytorch中统计学相关的函数
pytorch·python·深度学习
newbiai6 分钟前
电商直播AI视频生成工具哪个方便快捷?
人工智能·python·音视频
一位搞嵌入式的 genius7 分钟前
从 URL 到渲染:JavaScript 性能优化全链路指南
开发语言·前端·javascript·性能优化
ID_180079054738 分钟前
Python结合淘宝关键词API进行商品数据挖掘与
开发语言·python·数据挖掘
梦因you而美8 分钟前
Python win32com操作Excel:彻底禁用链接更新及各类弹窗(实测有效)
python·excel·win32com·禁用链接更新·excel弹框
天天进步20158 分钟前
Motia性能进阶与未来:从现有源码推测 Rust 重构之路
开发语言·重构·rust