一招搞定重定向网页

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

相关文章

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2