BLNJ000 Posted March 23, 2020 Posted March 23, 2020 Hello to All. I'm trying to write a simple script that had a link of an image file (jpeg, gif, bmp etc) tell me some information [without having to download the file itself] The info should be : - urls file [my input] - Width - Height - size so I looked in the guide and in the examples what could help me, but I have some problems ... I had thought of such a thing (not working): #include <IE.au3> ; _IEBodyReadHTML ( ByRef $oObject ) ; X Internet Explore Browser #include <MsgBoxConstants.au3> #include <ColorConstantS.au3>; #include <GUIConstantsEx.au3>; #include <GuiEdit.au3> #Include <Constants.au3> #include <InetConstants.au3> #include <Inet.au3> InfoFileUrl() Func InfoFileUrl () Local $sURL = "https://www.lastampa.it/image/contentid/policy:1.38524329:1582812892/puppy-looks-like-cat-dog-hybrid-14-5e53858271f0f__700.jpg" ;random test image taken on the web Local $LinkOb = $sURL Local $iWidth = _IEPropertyGet($LinkOb, "width") Local $iHeight = _IEPropertyGet($LinkOb, "height") ;;------InetGetSize ( "URL" [, options = 0] ) local $size = InetGetSize ( $LinkOb , 0 ) ; https://www.autoitscript.com/autoit3/docs/functions/InetGetSize.htm ;; ------- FileGetSize ( "filename" ) ; https://www.autoitscript.com/autoit3/docs/functions/FileGetSize.htm ;only for files already on h.d, not for things online ? ;Local $size = FileGetSize ( $LinkOb ) ConsoleWrite ("Url File = " & $LinkOb & @CRLF & "Width = " & $iWidth & @CRLF & "Height = " & $iHeight & @CRLF & "Size File = " & $size ) EndFunc ;==>InfoFileUrl Exit From other help posts on the forum I realized that the various _IE * etc * functions work on the Internet Explorer browser ... and I obviously ... use Chrome. [ and maybe that's why I had this error message <IE.au3 T3.0-2 Error from function _IEPropertyGet, $_IESTATUS_InvalidDataType> , or I have done something else wrong ?] another user suggested the use of inet*() also, if you are only interested on the HTML source of a web page, you can simply use commands like InetGet(), InetRead(), _INetGetSource(). Such commands doesn't relies on any browser and can get the html listing directly from the web server. I was interested in this solution because in the html code <img stile="......"> there should be Width & Height... ... I made some attempts but with no results. Assuming that the starting idea is feasible, could someone please tell me what / how to correct ?
Nine Posted March 23, 2020 Posted March 23, 2020 Maybe this ? #include <IE.au3> Local $sURL = "https://www.lastampa.it/image/contentid/policy:1.38524329:1582812892/puppy-looks-like-cat-dog-hybrid-14-5e53858271f0f__700.jpg" Local $oIE = _IECreate ($sURL) $cImg = _IETagNameGetCollection ($oIE, "img") For $oImg in $cImg ConsoleWrite ($oImg.width & "/" & $oImg.height & @CRLF) Next “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
BLNJ000 Posted March 23, 2020 Author Posted March 23, 2020 Thanks for the reply, I had not considered <_IECreate >, now I have set it as hidden. I did some tests starting from your example and I still have some problems , #include <IE.au3> ;Local $sURL = "https://www.lastampa.it/image/contentid/policy:1.38524329:1582812892/puppy-looks-like-cat-dog-hybrid-14-5e53858271f0f__700.jpg";ok ;Local $sURL = "https://wdtqhni.bfhcyshosymc.hath.network/h/11395e61c41b4b59f6fff9dcd19701251adea614-44268-1280-1807-jpg/keystamp=1584999000-e70b55b7d9;fileindex=58597854;xres=1280/003.jpg"; no (1280x1807) ;Local $sURL = "https://www.ilpost.it/wp-content/uploads/2019/05/gatto-attento.gif"; OK ;Local $sURL = "https://mangadex.org/data/d7d595b12c597e93846d1975cf312afd/u6.png"; no (1000x4340) Local $sURL = "https://mangadex.org/chapter/832015/6";no ;Local $sURL = " " Local $oIE = _IECreate ($sURL, 0,0 ,1, 0) $cImg = _IETagNameGetCollection ($oIE,"img") For $oImg in $cImg ;ConsoleWrite ($oImg.width & "/" & $oImg.height & @CRLF) ConsoleWrite ("Url File = " & $sURL & @CRLF & "width = " & $oImg.width & @CRLF & "height = " & $oImg.height ); ;Next _IEQuit($oIE);Close the browser and remove the object reference to it If I try to use some images, an window "view download" opens (I think it' IE , never seen before ... as said, I haven't used IE for years) in which it tells me whether to open or save the file ( and the scrip end here ). [ img of test = h**ps://mangadex.org/data/d7d595b12c597e93846d1975cf312afd/u6.png ] I also saw that with the presence of _IECreate now <_IEPropertyGet> seems to work , but whit the image of previus test the window " view download" open again ... If i try to read the initial page of the image the retur is this : Url File = https://mangadex.org/chapter/832015/6 larghezza = 943 altezza = 647 but the real size of the immage are 1000x4340 ; ( so dont' work regularly) Do I have to add something or is there any other approach I could follow? (for the size speech there are no viable roads?)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now