网页游戏选22ck:如何获得bing.com/ck/a页面的真实网页

我试图以编程方式找到 bing 链接的最终目的地:

https://www.bing.com/ck/a?!&&p=e8e1e7228136c509JmltdHM9MTY1OTM5MTI0MiZpZ3VpZD1jY2RlYTU1Yy1kYzRkLTRjNjctOTIwMC1hZTUwYTk4M2QyNzImaW5zaWQ9NTcwOQ&ptn=3&hsh=3&fclid=62b91a1d-11e5-11ed-88df-bbbd25b14f27&u=a1aHR0cHM6Ly93d3cuZGFuaWVsc2h2YWMuY29tLw&ntb=1

在浏览器上,这会重定向到https://www.danielshvac.com/

但是,如果我尝试通过假设第一个重定向到第二个来找到该网站,我只是看到没有重定向。

这是怎么回事,我怎么能找到这些bing.com/ck/a链接的最终目的地?

代码:

Based onthis SO answer
r = requests.get('https://www.bing.com/ck/a?!&&p=e8e1e7228136c509JmltdHM9MTY1OTM5MTI0MiZpZ3VpZD1jY2RlYTU1Yy1kYzRkLTRjNjctOTIwMC1hZTUwYTk4M2QyNzImaW5zaWQ9NTcwOQ&ptn=3&hsh=3&fclid=62b91a1d-11e5-11ed-88df-bbbd25b14f27&u=a1aHR0cHM6Ly93d3cuZGFuaWVsc2h2YWMuY29tLw&ntb=1') 
print(r.url) # https://www.bing.com/ck/a?!&&p=e8e1e7228136c509JmltdHM9MTY1OTM5MTI0MiZpZ3VpZD1jY2RlYTU1Yy1kYzRkLTRjNjctOTIwMC1hZTUwYTk4M2QyNzImaW5zaWQ9NTcwOQ&ptn=3&hsh=3&fclid=62b91a1d-11e5-11ed-88df-bbbd25b14f27&u=a1aHR0cHM6Ly93d3cuZGFuaWVsc2h2YWMuY29tLw&ntb=1
Based onthis SO answer
response = requests.get(https://www.bing.com/ck/a?!&&p=e8e1e7228136c509JmltdHM9MTY1OTM5MTI0MiZpZ3VpZD1jY2RlYTU1Yy1kYzRkLTRjNjctOTIwMC1hZTUwYTk4M2QyNzImaW5zaWQ9NTcwOQ&ptn=3&hsh=3&fclid=62b91a1d-11e5-11ed-88df-bbbd25b14f27&u=a1aHR0cHM6Ly93d3cuZGFuaWVsc2h2YWMuY29tLw&ntb=1)
if response.history:
    print("Request was redirected")
    for resp in response.history:
        print(resp.status_code, resp.url)
    print("Final destination:")
    print(response.status_code, response.url)
else:
    print("Request was not redirected") # this is printed

更新:通过curl阅读链接的内容,我可以看到你得到一个 HTML 文档,其中包含一些重定向你的函数,我想这就是为什么没有真正的重定向。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta cht="utf-8">
    <meta name="referrer" content="origin-when-cross-origin">
    <script>//<![CDATA[
      var s = false;
      function l() {
        setTimeout(f, 10000);
        if (document.referrer) {
          try {
            var pm = /(^|&|\?)px=([^&]*)(&|$)/i;
            var px = window.location.href.match(pm);
            var rs = document.referrer;
            if (px != null) {
              if (rs.match(pm))
                rs = rs.replace(pm, "$1px=" + px[2] + "$3");
              else if (rs.indexOf("?") != -1)
                rs = rs + "&px=" + px[2];
              else
                rs = rs + "?px=" + px[2];
            }
            history.replaceState({}, "Bing", rs);
            window.addEventListener("pageshow", function(e) { if (e.persisted || (typeof window.performance != "undefined" && window.performance.navigation.type === 2)) window.location.reload(); });
            s = true;
            setTimeout(r, 10);
            return;
          } catch (e) {}
        }
        r();
      }
      function r() {
        var u = "https://www.danielshvac.com/";
        if (s)
          window.location.href = u;
        else
          window.location.replace(u);
      }
      function f() {
        document.getElementById("fb").style.display = "block";
      }
      //]]>
    </script>
  </head>
  <body onload="l()">
    <div id="fb" style="display: none">
      Please <a href="https://www.bing.com/ck/a?!&&p=e8e1e7228136c509JmltdHM9MTY1OTM5MTI0MiZpZ3VpZD1jY2RlYTU1Yy1kYzRkLTRjNjctOTIwMC1hZTUwYTk4M2QyNzImaW5zaWQ9NTcwOQ&ptn=3&hsh=3&fclid=62b91a1d-11e5-11ed-88df-bbbd25b14f27&u=a1aHR0cHM6Ly93d3cuZGFuaWVsc2h2YWMuY29tLw&ntb=F">click here</a> if the page does not redirect automatically ...
    </div>
  </body>
</html>

现在试图找出如何执行此操作并获取链接

1

由于 curl 输出显示,HTML 文档中的脚本已经包含 destination-url,您可以简单地用一行 Python 代码提取它

r.content.decode().split("var u = ")[1].split("\";")

这将在 URL 变量的初始化时拆分请求的内容(您从 curl 中获得的内容),然后在此变量的末尾再次拆分,因此您将仅获得 destination-URL。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(19)
锁定文件夹:如何锁定文件夹(folder with lock)
上一篇
Linux更新python3:通过Python3在Linux中关闭屏幕
下一篇

相关推荐

  • wincc编程控制WinCC应用程序的可视化开发

    WINCC编程是指使用Siemens WinCC SCADA软件进行编程,实现对工业控制系统的监控和控制。WinCC可以帮助用户实现以下功能:…

    2023-02-11 03:13:46
    0 84 97
  • cs1.6win10打不开:解决CS1.6在Win10系统下无法启动的问题

    您需要确认您的Windows 10操作系统是否支持Counter Strike 如果不支持,您可以尝试安装一个兼容的操作系统,例如Windows您应该检查您的电脑是否满足Counter Strike 6的最低系统要求,包括CPU,内存,显卡等。如果您的电脑硬件不够强大,则可能无法正常运行Counter Strike…

    2023-03-08 04:54:37
    0 52 14
  • win10专业版cdkey:激活win10专业版,获取最佳体验

    Win10专业版CDKEY是一个25位字符的序列号,用于激活Windows 10专业版操作系统。它可以在Microsoft官网上购买,或者从第三方渠道获取。CDKEY代码一般如下:…

    2023-02-24 04:33:18
    0 97 44
  • Canonical标签:SEO-noindex nofollow和规范标签

    关于Canonical标签的问题,在canonical noindex中经常遇到,我需要一些关于我的问题的解释。…

    2022-11-23 08:50:34
    0 51 90
  • 电脑本地磁盘c怎么清理:链接到本地磁盘(pdisk links)

    关于电脑本地磁盘c怎么清理的问题,在pdisk links中经常遇到,是否可以在本地磁盘中打开文件的页面上放置 html 链接?…

    2022-11-23 08:45:10
    0 37 18
  • Cg是什么标志:它是什么意思 或者什么是Cg= =(cg meaning)

    关于Cg是什么标志的问题,在cg meaning中经常遇到,有人能告诉我Cg==是什么意思,我只知道它与 Base64 有关。…

    2022-11-23 08:41:30
    0 51 88
  • Cyclin蛋白:蛋白质中原子的杂交(生物蛋白)

    关于Cyclin蛋白的问题,在how to find hybridization中经常遇到,我想在一个项目的蛋白质中找到原子 (sp2,sp3) 的杂交。我正在使用 biopython,我正在努力编码这个。我找不到任何现有的代码用于此目的。有没有一个简单的方法来找到杂交?…

    2022-11-23 08:41:17
    0 77 23
  • cv树洞柒夜事件CV树洞中的秘密与惊奇

    cv树洞柒夜事件是一个有趣的计算机视觉活动,它提供了一种新的方式来利用计算机视觉技术来探索和发现景观。它始于2020年7月,由一群热爱计算机视觉的研究者和开发者发起,他们希望通过使用机器学习技术来探索景观中的精彩之处。cv树洞柒夜事件的目标是使用机器学习技术来探索景观中的精彩之处,并利用这些发现来改善景观设计。参与者需要使用机器学习技术来探索景观,并利用这些发现来改善景观设计。参与者可以使用Python,OpenCV,TensorFlow等技术来完成任务,并将其发布在GitHub上。…

    2023-01-09 12:42:42
    0 57 49

发表评论

登录 后才能评论

评论列表(28条)