我正在尝试在VB.NET中开发一个简单的工具,在循环中导航到一个网站并将页面保存为HTML文档。
我可以轻松设置循环,因为页面按顺序编号。
www.example.com/pages/1.html
www.example.com/pages/2.html
www.example.com/pages/3.html
www.example.com/pages/4.html
我遇到问题的方法是找到保存实际页面的方法。我打算利用一系列SendKeys来Alt,File,Save As,Enter等。但我认为必须有某种对象/方法可以用来更直接地做到这一点。
我启用了COM Internet Controls Reference并声明了新的SHDoc.Vw.InternetExplorer,并能够在新窗口中以编程方式打开浏览器并导航到所需的页面。我在网上搜索Save问题的解决方案,但都没有成功。有没有人有任何想法?
答案 0 :(得分:2)
Dim baseUrl As String = "http://www.example.com/pages/{0}.html"
Dim basePath As String = "C:\some\path{0}.html"
Using ws As New System.Net.WebClient()
ForEach i As Integer In Enumerable.Range(1,4)
wc.DownloadFile(String.Format(baseUrl, i), string.Format(basePath, i))
Next i
End Using
如果你有很多想要有点想象,你甚至可以使用DownloadFileAsync()方法一次排队几个。