一招搞定重定向网页

2024-04-26 23:32
文章标签 网页 重定向 搞定 一招

本文主要是介绍一招搞定重定向网页,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

重定向网页爬取策略

文章目录

  • 重定向网页爬取策略
    • 1.网页重定向的表现
    • 2.网页重定向的途径
      • 2.1 服务器端重定向
      • 2.2 meta refresh标签实现
      • 2.3 JS重定向
    • 3.服务器端重定向网页爬取方案

1.网页重定向的表现

HTTP 302 Found 重定向状态码表明请求的资源被暂时的移动到了由Location 头部指定的 URL 上。浏览器会重定向到这个URL, 但是搜索引擎不会对该资源的链接进行更新,将会再次请求location字段包含的url,如下图网页响应数据:
在这里插入图片描述紧接请求location字段的url
在这里插入图片描述

2.网页重定向的途径

2.1 服务器端重定向

服务器端重定向在服务器端完成,一般爬虫可以自适应,不需要做特别的处理,如相应代码302(可以通过reponse对象中的url、status_code属性来判断),一般重定向后的url在数据包头部的Location字段中,需要获取Location字段的值。

2.2 meta refresh标签实现

网页将实现跳转,爬虫直接获取meta标签的content属性即可

<html><head><meta http-equiv="refresh" content="url=http://www.baidu.com"></head>
</html>

2.3 JS重定向

这种通过js代码加载的方式,一般找到包含内容的代码段即可找到url

<scriptlanguage=javascript>window.location.href='http://www.baidu.com'</script>

3.服务器端重定向网页爬取方案

由于服务器端重定向网页解决相对更复杂,于是主要讲述这种情形,网站url:http://61.187.179.66:8924

1.网页规则:第一个网页登录成功之后,响应状态为302,随后通过get请求了另一个网页(状态也是302,url就是第一个网页response头部Location字段包含的url),随后才访问有效的网页。
在这里插入图片描述在这里插入图片描述2.分析网页之间的联系:通过分析,有效网页的cookie与前两次重定向网页的cookie有很大关联,有效网页的cookie=初始网页的cookie+重定向网页应答数据中的set-cookie字段
在这里插入图片描述在这里插入图片描述在这里插入图片描述3.重点是如何获取Location字段的值呢?
Location是数据包的头部数据,requests类库提供了方法访问数据包头,如下

histroy=respose.history
a=histroy[0].headers
print(a['Location'])

下图为获取的Location字段内容:
在这里插入图片描述4.重点已经讲述的差不多了,写爬虫时记得请求时带上相应的cookie因为这样才能辨别是否是同一次会话,由于目标网页是咱们学校新教务,于是就不方便上代码了。

这篇关于一招搞定重定向网页的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/938964

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

禁止复制的网页怎么复制

禁止复制的网页怎么复制 文章目录 禁止复制的网页怎么复制前言准备工作操作步骤一、在浏览器菜单中找到“开发者工具”二、点击“检查元素(inspect element)”按钮三、在网页中选取需要的片段,锁定对应的元素四、复制被选中的元素五、粘贴到记事本,以`.html`为后缀命名六、打开`xxx.html`,优雅地复制 前言 在浏览网页的时候,有的网页内容无法复制。比如「360

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器

分享5款免费录屏的工具,搞定网课不怕错过!

虽然现在学生们不怎么上网课, 但是对于上班族或者是没有办法到学校参加课程的人来说,网课还是很重要的,今天,我就来跟大家分享一下我用过的几款录屏软件=,看看它们在录制网课时的表现如何。 福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 这款软件给我的第一印象就是界面简洁,操作起来很直观。它支持全屏录制,也支持区域录制,这对于我这种需要同时录制PPT和老师讲

起点中文网防止网页调试的代码展示

起点中文网对爬虫非常敏感。如图,想在页面启用调试后会显示“已在调试程序中暂停”。 选择停用断点并继续运行后会造成cpu占用率升高电脑卡顿。 经简单分析网站使用了js代码用于防止调试并在强制继续运行后造成电脑卡顿,代码如下: function A(A, B) {if (null != B && "undefined" != typeof Symbol && B[Symbol.hasInstan

(入门篇)JavaScript 网页设计案例浅析-简单的交互式图片轮播

网页设计已经成为了每个前端开发者的必备技能,而 JavaScript 作为前端三大基础之一,更是为网页赋予了互动性和动态效果。本篇文章将通过一个简单的 JavaScript 案例,带你了解网页设计中的一些常见技巧和技术原理。今天就说一说一个常见的图片轮播效果。相信大家在各类电商网站、个人博客或者展示页面中,都看到过这种轮播图。它的核心功能是展示多张图片,并且用户可以通过点击按钮,左右切换图片。

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说