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

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


    重定向(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.hqwc.cn/news/160260.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCode 的 C/C++ 开发环境的傻瓜级自动部署程序

软件介绍 VSCode 是一款优秀的编辑器,可以通过各种插件,将其配置成 C/C 开发环境。只是对于初学者而言,配置步骤有点繁琐。 软件 VSCode-Setup(MinGW) 提供了自动下载安装 VSCode 并配置成 C/C 开发环境的功能。无需担心该软件会对系统有额…

jeecg-uniapp 转成小程序的过程 以及报错 uniapp点击事件

uniapp 点击事件 tap: 单击事件 confirm: 回车事件 blur:失去焦点事件 touchstart: 触摸开始事件 touchmove: 触摸移动事件。 touchend: 触摸结束事件。 longpress: 长按事件。 input: 输入框内容变化事件。 change: 表单元素值变化事件。 submit: 表单提交事件。 scroll: 滚动…

Git(七).git 文件夹瘦身,GitLab 永久删除文件

目录 一、问题背景二、问题复现2.1 新建项目2.2 上传大文件2.3 上传结果 三、解决方案3.1 GitLab备份与还原1)备份2)还原 3.2 删除方式一:git filter-repo 命令【推荐】1)安装2)删除本地仓库文件3)重新关联…

FLASH语音芯片和MP3音乐芯片的不同之处

语音芯片除了不可重复擦写的otp语音芯片之外还有内置flash可重复擦写的语音芯片,还有音质相对来说更好的mp3音乐芯片,接下来让我们就flash芯片和MP3芯片来展开讨论,看看两者之间究竟有哪些不同之处。 flash语音芯片 Flash语音芯片是可以进行…

网络协议的基本概念

网络协议的基本概念 随处可见的协议 在计算机网络与信息通信领域里,人们经常提及“协议”一词。互联网中常用的具有代表性的协议有IP、TCP、HTTP等。 “计算机网络体系结构”将这些网络协议进行了系统归纳。TCP/IP就是IP、TCP、HTTP等协议的集合。现在&#xff0…

PostgreSQL 进阶 - 模式匹配,过滤敏感数据,数据清理

1. 模式匹配 SELECT phone_number FROM customers;使用正则表达式替换所有非数字字符 这样可以清理和标准化电话号码数据,去除任何非数字字符,只保留数字 UPDATE customers SET phone_number REGEXP_REPLACE(phone_number, [^0-9], , g) WHERE phone…

Monocle 3 | 太牛了!单细胞必学R包!~(三)(建立单细胞轨迹)

1写在前面 到周末了,今天去骑车的,感觉还不错。🚴🏻 下面就是今天的内容了: 👇 单细胞转录组、蛋白组、表观组学等单细胞技术的发展为研究细胞周期、细胞分化等细胞动态过程提供了新的机会。🤩 …

CSS3设计动画样式

CSS3动画包括过渡动画和关键帧动画,它们主要通过改变CSS属性值来模拟实现。我将详细介绍Transform、Transitions和Animations 3大功能模块,其中Transform实现对网页对象的变形操作,Transitions实现CSS属性过渡变化,Animations实现…

iSlide2024一款基于PPT的插件工具包含38个设计辅助功能

根据使用者情况表明iSlide 是一款拥有30W素材的PPT高效设计软件,可提高90%工作效率,现全球已有超过1400万使用者,智能排版原创高品模板可商用图形,真正摆脱PPT的束缚,把精力用在该用的地方。我们都明白islide插件功能特…

【黑马程序员】Maven 进阶

文章目录 前言一、分模块开发与设计1. 分模块开发意义2. 分模块开发(模块拆分)2.1 创建 Maven 模块2.2 书写模块代码2.3 通过 Maven 指令安装模块到本地仓库(install 指令) 二、依赖管理1. 依赖传递1.1 依赖传递冲突问题 2. 可选依…

Modelsim 使用教程(3)——Projects

目录 一、概述 二、设计文件及tb 2.1 设计文件 counter.v 2.2 仿真文件 tcounter.v 三、操作流程 3.1 Create a New Project(创建一个新的工程) 3.2 Add Objects to the Project(把代码加入项目) 3.3 Compile the …

modesim verilog仿真验证基本流程(新建工程方式)

文章目录 环境搭建一、在modelsim里创建一个新的工程二、新建verilog设计文件及仿真激励文件三、仿真结果本文演示如何使用modelsim新建工程进行功能仿真。 环境搭建 本文中采用的modelsim版本如下: modelsim altera 10.3d一、在modelsim里创建一个新的工程 打开modelsim软…