我目前正在开发一个项目来跟踪多个网站的产品。我使用 python scraper 检索与列出的产品相关的所有 URL,然后定期检查这些 URL 是否仍然有效。
为此,我使用 Python requests 模块,运行 get 请求并查看响应的状态代码。通常我会按预期得到 200、301、302 或 404,但以下情况除外:
http://www.sephora.fr/Parfum/Parfum-Femme/Totem-Orange-Eau-de-Toilette/P2232006
该产品已被删除,在打开链接时(抱歉,它是法语),我会短暂显示一个占位符页面,说明该产品不再可用,然后重定向到主页 (www.sephora.fr)。
奇怪的是,Python 仍然返回 200 状态代码,各种重定向跟踪器(例如 wheregoes.com 或 redirectDetective.com)也是如此。最糟糕的是,响应 URL 仍然是原始的,所以我什至无法以这种方式跟踪它。
当使用 Chrome DevTools 进行分析并保存日志时,我发现页面在某个时刻会重新加载。但是我无法找到在哪里。
我猜这是通过 Javascript 在客户端完成的,但我不太确定如何完成。此外,我确实需要能够从 Python 内部检测到这种变化。
作为引用,这里有一个工作产品的链接:
http://www.sephora.fr/Parfum/Parfum-Femme/Kenzo-Jeu-d-Amour-Eau-de-Parfum/P1894014
有线索吗?
谢谢! 路德维希
最佳答案
该页面有 meta tag ,将页面重定向到根 URL:
<meta http-equiv="refresh" content="0; URL=/" />
关于javascript - 无法追踪的 HTTP 重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39837713/