从php页面中提取原始图像源地址

时间:2018-02-20 12:37:09

标签: php python selenium

我想从我的大学网站下载您需要先登录的图片。我使用selenium登录并导航到图片,其网址是

https://www.ebooks.ktu.lt/func/skaito2/skf.php?data=S2F0YWxvZ2FzTWFrZXRhc0lEPTExJlVuaUlEPTEyNzc2MzQ2Njg0ZmU4MGFkMWEyZjkw&format=png&page=1

当我到达那里时,页面的来源如下:

    <html>
   <head>
      <meta name="viewport" content="width=device-width, minimum-scale=0.1">
      <title>skf.php (583×827)</title>
   </head>
   <body style="margin: 0px; background: #0e0e0e;">
      <img style="-webkit-user-select: none;background-position: 0px 0px, 10px 10px;background-size: 20px 20px;background-image:linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%),linear-gradient(45deg, #eee 25%, white 25%, white 75%, #eee 75%, #eee 100%);cursor: zoom-in;" src="https://www.ebooks.ktu.lt/func/skaito2/skf.php?data=S2F0YWxvZ2FzTWFrZXRhc0lEPTExJlVuaUlEPTEyNzc2MzQ2Njg0ZmU4MGFkMWEyZjkw&amp;format=png&amp;page=1" width="194" height="275"></body>
</html>

注意,

src="https://www.ebooks.ktu.lt/func/skaito2/skf.php?data=S2F0YWxvZ2FzTWFrZXRhc0lEPTExJlVuaUlEPTEyNzc2MzQ2Njg0ZmU4MGFkMWEyZjkw&amp;format=png&amp;page=1"

它的地址相同!

如何提取图像的原始,实际地址,以便页面源是二进制PNG数据?

顺便说一句,Chromium在被要求下载包含Ctrl+S的网页时,会正确识别为图像

1 个答案:

答案 0 :(得分:1)

  

我想从我的大学网站下载您需要先登录的图片

显然不是图像 - 我可以在没有登录的情况下获得预期的图像。

  

当我到达那里时,页面的来源如下:

(剪断)

此标记由浏览器生成以进行演示。使用python-requests即可获得原始图片:

>>> import requests
>>> r = requests.get("https://www.ebooks.ktu.lt/func/skaito2/skf.php?data=S2F0YWxvZ2FzTWFrZXRhc0lEPTExJlVuaUlEPTEyNzc2MzQ2Njg0ZmU4MGFkMWEyZjkw&format=png&page=1")
>>> r.headers["content-type"]
'image/png'
>>> r.content[:10]
'\x89PNG\r\n\x1a\n\x00\x00'