解决爬虫在重定向(Redirect)情况下,URL没有变化的方法

news/2024/7/19 11:22:05 标签: 爬虫, html, 前端, python, scrapy

    重定向是一种网络服务,它可以实现从一个网页跳转到另一个网页的功能。它把用户请求的网页重定向到一个新的位置,而这个位置可以是更新的网页,或最初请求的网页的不同版本。另外,它还可以用来改变用户流量,当用户请求某个网页后,它会将用户请求重定向到一个截然不同的页面,从而达到在流量分发上更有效率的目的。


    重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。


    打开 https://yanglee.com/information/ 主页 - 资讯这一版,可见 第1页,url 就是这一链接。



在这里插入图片描述



    当点击第2页后,url 还是那个



在这里插入图片描述



    打开 “Network”,可见这 url 是动态加载的,请求方式是 "POST“

在这里插入图片描述



    打开 “Form Data” 可以看到,当我们点击时,其实就是通过 这4个参数去发起请求的。其中可见 pageIndex 就是页码。



在这里插入图片描述



    再点击 第2页后,看看 “Form Data” 的数据参数,pageIndex 变成 2 了



在这里插入图片描述



    那么通过这样观察,就可以知道每一分页实际的链接。那么链接是什么? 回到 Header 请求头这一版,可以看到 Request URL 是 https://yanglee.com/Action/GetInformationList.ashx,这个也就是 接口。



在这里插入图片描述



    回到 “Form Data”, 刚才看到有4个参数组成,那么完整的请求 url 就是 接口地址?xxx=xxx&xxx=xxx 这样的表达方式。



    ?后面连接的就是那4个参数,表达形式 xxx=xxx 就是以键值对(key-value) 来表达的,每个key-value之间用 & 符号连接。



在这里插入图片描述



    从参数的表达形式可见为 xxx:xxx,如果参数少,我们可以直接手动更改,或者直接最快捷的方法,点击 “view source”



在这里插入图片描述



    点击后,会自动生成 xxx=xxx&xxx=xxx 这样的 key-value 表达方式。



在这里插入图片描述



    因此第2页实际完整的链接为:https://yanglee.com/Action/GetInformationList.ashx?pageIndex=2&pageSize=15&i=0&OrderBy=C_ADDTIME+DESC



    最后成功解析出第2页的 page source



在这里插入图片描述


http://www.niftyadmin.cn/n/5143932.html

相关文章

C# 图解教程 第5版 —— 第14章 委托

文章目录 14.1 什么是委托14.2 委托概述14.3 声明委托类型14.4 创建委托对象14.5 给委托赋值14.6 组合委托14.7 为委托添加方法14.8 从委托移除方法14.9 调用委托14.10 委托的示例(*)14.11 调用带返回值的委托14.12 调用带引用参数的委托14.13 匿名方法1…

资源管理命令-声明式

yaml和json介绍 yuml语言介绍 YAML是一个类似XML、JSON的标记性语言,它强调以数据为中心,并不是以标识语言为重点,而YAML本身的定义比较简单。号称“一种人性化的数据格式语言”。 YAML的语法比较简单,主要有下面几个 大小写敏…

MySQL 外连接和内连接的查询优化怎么做?

目录 1. 表连接方式的分类和需要注意的细节 2. 表连接时底层做了什么事? 3. 左外连接优化方案 4. 内连接优化方案 1. 表连接方式的分类和需要注意的细节 多表连接查询,大体上可以分为内连接与外连接。 内连接的意思就是把两个表有关联的部分都取出…

Py之auto-gptq:auto-gptq的简介、安装、使用方法之详细攻略

Py之auto-gptq:auto-gptq的简介、安装、使用方法之详细攻略 目录 auto-gptq的简介 1、版本更新历史 2、性能对比 推理速度 困惑度(PPL) 3、支持的模型 3、支持的评估任务 auto-gptq的安装 auto-gptq的使用方法 1、基础用法 (1)、量…

PyTorch入门学习(十二):神经网络-搭建小实战和Sequential的使用

一、介绍 在深度学习领域,构建复杂的神经网络模型可能是一项艰巨的任务,尤其是当您有许多层和操作需要组织时。幸运的是,PyTorch提供了一个方便的工具,称为Sequential API,它简化了神经网络架构的构建过程。在本文中&…

panabit日志审计singleuser_action.php任意用户添加漏洞复现

文章目录 panabit日志审计singleuser_action.php任意用户添加漏洞复现0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 panabit日志审计singleuser_action.php任意用户添加漏洞复现 0x01 前言 免责声明:请勿利用文章…

日常办公必备 (一)打卡统计

获取节假日 import datetime import holidaysdef is_holiday(date):us_holidays holidays.CN()return date in us_holidaysdate datetime.date(2023, 1, 4) print(date) print(is_holiday(date))

软考 系统架构设计师系列知识点之系统架构评估(5)

接前一篇文章: 所属章节: 第8章. 系统质量属性与架构评估 第2节. 系统架构评估 8.2.1 系统架构评估中的重要概念 相关试题 1. 在架构评估中,()是一个或多个构件(和/或构件之间的关系)的特性。…