On 02/05/2016 04:39, DFS wrote:
To save a webpage to a file:
-------------------------------------
1. import urllib
2. urllib.urlretrieve("http://econpy.pythonanywhere.com
    /ex/001.html","D:\file.html")
-------------------------------------

That's it!

Coming from VB/A background, some of the stuff you can do with python -
with ease - is amazing.


VBScript version
------------------------------------------------------
1. Option Explicit
2. Dim xmlHTTP, fso, fOut
3. Set xmlHTTP = CreateObject("MSXML2.serverXMLHTTP")
4. xmlHTTP.Open "GET", "http://econpy.pythonanywhere.com/ex/001.html";
5. xmlHTTP.Send
6. Set fso = CreateObject("Scripting.FileSystemObject")
7. Set fOut = fso.CreateTextFile("D:\file.html", True)
8.  fOut.WriteLine xmlHTTP.ResponseText
9. fOut.Close
10. Set fOut = Nothing
11. Set fso  = Nothing
12. Set xmlHTTP = Nothing
------------------------------------------------------

Technically, that VBS will run with just lines 3-9, but that's still 6
lines of code vs 2 for python.

It seems Python provides a higher level solution compared with VBS. Python presumably also has to do those Opens and Sends, but they are hidden away inside urllib.urlretrieve.

You can do the same with VB just by wrapping up these lines in a subroutine. As you would if this had to be executed in a dozen different places for example. Then you could just write:

getfile("http://econpy.pythonanywhere.com/ex/001.html";, "D:/file.html")

in VBS too. (The forward slash in the file name ought to work.)

(I don't know VBS; I assume it does /have/ subroutines? What I haven't factored in here is error handling which might yet require more coding in VBS compared with Python)

--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to