当前位置: 首页 > news >正文

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和内容类型。注意这两个参数很重要。

第六步:上代码

# -*- coding:utf-8 -*-
# @Time : 2023/12/6 12:01
# @Author: 水兵没月
# @File : 某网址-cookie.py
# @Software: PyCharm
import json
import randomimport requestsheaders = {"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)

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

http://www.lryc.cn/news/253947.html

相关文章:

  • 还记得当初自己为什么选择计算机?
  • “数”说新语向未来 | GBASE南大通用2023媒体交流会成功举办
  • 每天一点python——day88
  • xShell快捷键
  • OkGo导入失败解决办法
  • 02、pytest环境准备
  • 海上液化天然气 LNG 终端 ,数字孪生监控系统
  • C语言面试之旅:掌握基础,探索深度(面试实战之ARM架构二)
  • Axios详解及运用案例
  • 期刊影响因子和期刊分区(国内-中科院/国外-JCR分区)
  • R语言gWQS包在加权分位数和回归模型的应用
  • 【Makelist】release无法生成pdb
  • 【Linux】信号的保存和捕捉
  • Sourcepawn脚本入门(二)命令与事件监听
  • java-poi操作笔记
  • PHP:js中怎么使用PHP变量,php变量为数组时的处理
  • 网工学习7-配置 GVRP 协议
  • python:格式化输出指定内容
  • 【C语言】7-35 强迫症 分数 10
  • 如何快速了解一家公司?
  • ZPLPrinter Emulator SDK for .NET 6.0.23.1123​ Crack
  • 查收查引(通过文献检索开具论文收录或引用的检索证明)
  • Python一帮一
  • 学员追访 | “IC的标签并不是只有高薪与965”
  • LeetCode(39)赎金信【哈希表】【简单】
  • 输入日期求n天后
  • 科技论文中的Assumption、Remark、Property、Lemma、Theorem、Proof含义
  • 逆向爬虫进阶实战:突破反爬虫机制,实现数据抓取
  • 个体民营诊所-如何打破传统发展瓶颈,增客流-提营收?
  • Filament引擎分析--command抽象设备API