如何下载这张图片【已解决】
本帖最后由 fenhanxue 于 2017-3-17 11:25 编辑网址:http://base1.nijl.ac.jp/iview/Frame.jsp?DB_ID=G0003917KTM&C_CODE=XSE1-03608&IMG_SIZE=&PROC_TYPE=null&SHOMEI=%E3%80%90%E6%84%9B%E6%9F%93%E7%8E%8B%E5%8F%A3%E8%A8%A3%E3%80%91&REQUEST_MARK=null&OWNER=null&IMG_NO=2日本的,打开比较慢,耐心等待下。。。
就单个网页来说,可以按照下述代码,实现图片保存到本地 Local $oIE_1 = _IEFrameGetObjByName($oIE,"frame_bottom")
$oImg = _IEImgGetCollection ($oIE_1, 0);//获取索引0的图片对象(第一张)
Local $oPic = $oIE_1.Document.body.createControlRange()
$oPic.Add($oImg);//将图片添加到新创建的集合中(ControlRange)
$oPic.execCommand("Copy");//将集合复制到剪切板
$bmp = ClipGet();//获取剪切板内容,以下省略
_ClipBoard_Open (0)
Local $hMemory = _ClipBoard_GetDataEx ($CF_BITMAP)
_ClipBoard_Close ()
_ScreenCapture_SaveImage (@ScriptDir & '\temp.jpg', $hMemory)但是因为要批量操作,上述代码,需要一个一个打开网页再保存,效率低下,想采用诸如InetGet之类的方法保存图片。
解决方案:
设置Referer,可以正常访问到图片 本帖最后由 229989799 于 2017-3-16 15:12 编辑
获取到图片的真实下载地址,存起来即可。。
这个是图片的地址http://image.nijl.ac.jp/conv/images/XSE1/XSE1-03608/XSE1-03608-0001.jpg你必须打开你发的那个主页,再新窗口打开图片真实地址,就把图片下载下来。;使用 HTTP,HTTPS 或 FTP 协议下载文件.
InetGet("URL(网址)"[, "文件名"[, 选项 = 0[, 后台 = 0]]])
回复 2# 229989799
图片无法下啊
本帖最后由 229989799 于 2017-3-16 15:51 编辑
回复 3# fenhanxue
不是说了吗,必须先打开你发的主页。http://base1.nijl.ac.jp/iview/Frame.jsp?DB_ID=G0003917KTM&C_CODE=XSE1-03608&IMG_SIZE=&PROC_TYPE=null&SHOMEI=%E3%80%90%E6%84%9B%E6%9F%93%E7%8E%8B%E5%8F%A3%E8%A8%A3%E3%80%91&REQUEST_MARK=null&OWNER=null&IMG_NO=2再新窗口打开http://image.nijl.ac.jp/conv/images/XSE1/XSE1-03608/XSE1-03608-0001.jpg才能正常读取到图片。。
用代码打开是正常,然后你想办法下载图片吧。多多动手,我也是新手啊。。#include <IE.au3>
_IECreate("http://base1.nijl.ac.jp/iview/Frame.jsp?DB_ID=G0003917KTM&C_CODE=XSE1-03608&IMG_SIZE=&PROC_TYPE=null&SHOMEI=%E3%80%90%E6%84%9B%E6%9F%93%E7%8E%8B%E5%8F%A3%E8%A8%A3%E3%80%91&REQUEST_MARK=null&OWNER=null&IMG_NO=2",0,0,1,0)
$oIE = _IECreate("http://image.nijl.ac.jp/conv/images/XSE1/XSE1-03608/XSE1-03608-0001.jpg") 回复 4# 229989799
IE 和 chrome 都测试过
此网站不稳定,图片都有时候打不开。我测试的时候是可以下载的。。现在又打不开了。。估计是网站问题。 回复 7# 229989799
这应该不是稳定不稳定的问题吧,网站本身可能就是限制了inetget这种方式 设置Referer:http://base1.nijl.ac.jp/iview/FrameBottom.jsp?DB_ID=G0003917KTM&C_CODE=XSE1-03608&IMG_CODE=XSE1/XSE1-03608/XSE1-03608-0001.jpg&IMG_SIZE=亲测可以打开 回复 9# cxlater
是这样写么?Local $url = 'http://image.nijl.ac.jp/conv/images/XSE1/XSE1-03608/XSE1-03608-0001.jpg'
Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET",$url)
$oHTTP.SetRequestHeader("Referer",'http://base1.nijl.ac.jp/iview/FrameBottom.jsp?DB_ID=G0003917KTM&C_CODE=XSE1-03608&IMG_CODE=XSE1/XSE1-03608/XSE1-03608-0001.jpg&IMG_SIZE=')
$oHTTP.Send()然后比如我要保存为 $save = @ScriptDir & '\1.jpg'
应该如何写? 回复 10# fenhanxue
http://www.autoitx.com/forum.php?mod=viewthread&tid=18528&highlight=winhttp
这个应该能帮到你 回复 11# cxlater
太感谢! 太深奥,看不懂。保存下来好好学习下
页:
[1]