解决爬虫在重定向(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

相关推荐
tang777895 小时前
市场调研自动化采集架构:基于住宅IP轮换的APP数据抓取与反风控方案
爬虫·动态代理ip·爬虫代理ip·爬虫动态ip·住宅代理ip·动态住宅ip
codexu_4612291875 小时前
NoteGen 里一条记录如何变成 Markdown
前端·笔记·rust·tauri
风吹夏回5 小时前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
爱读书的小胖5 小时前
无偿分享ChatGPT Image 2画图网页与并发绘图python程序【Ai绘图】
开发语言·python·chatgpt
meilindehuzi_a5 小时前
从 Canvas 到 Vibe Coding:HTML5 游戏开发入门与 AI 飞机大战实战
前端·人工智能·html5
cvcode_study5 小时前
Scikit-learn
python·机器学习·scikit-learn
lichenyang4535 小时前
鸿蒙 Web 容器(一):怎么把一个 H5 页面嵌进鸿蒙页面?
前端
数据知道5 小时前
指纹浏览器环境的导入、导出、快照与云端同步机制
爬虫·数据采集·指纹浏览器
vortex55 小时前
新手前后端开发学习指南:从Flask框架到全栈实践
后端·python·flask
你是个什么橙5 小时前
Python入门学习1:安装配置开发环境——Python或Annaconda,Pycharm
python·学习·pycharm