我想从我的大学网站下载您需要先登录的图片。我使用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&format=png&page=1" width="194" height="275"></body>
</html>
注意,
src="https://www.ebooks.ktu.lt/func/skaito2/skf.php?data=S2F0YWxvZ2FzTWFrZXRhc0lEPTExJlVuaUlEPTEyNzc2MzQ2Njg0ZmU4MGFkMWEyZjkw&format=png&page=1"
它的地址相同!
如何提取图像的原始,实际地址,以便页面源是二进制PNG数据?
顺便说一句,Chromium在被要求下载包含Ctrl+S
的网页时,会正确识别为图像。
答案 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'