用VB6.0解决网页获取问题,在一些情况下可以省点事。
比如百度链接现在直接访问都302了,VB调用浏览器控件,可以绕开此类问题。
对于怼着一个网站爬,中间必须休眠的应用,干脆上VB。
核心代码如下。
'全局变量 Public counter As Integer Private Sub Form_Load() '获取外部传入的参数 Dim para If Command <> "" Then para = Command End If WebBrowser1.Silent = True 'WebBrowser1.Navigate "http://www.baidu.com/link?url=-8BvUVFXO52WMTvdy10cCekVvQ1nLMUtwVlPh02aEhMM3rTKN2JiAQcNYlYRmLdSdU7xpI9V9AuVPlBKbr7PqK" 'WebBrowser1.Navigate url 'MsgBox para 'para = "1000丨丨丨http://www.baidu.com/link?url=tGeuyVVTLkLc_pbME3n_p8LMicqdmPWKuza0h3PQT1D7SMZLYkj_6Pxn-jBCw57jRcVRUBNrg5q4RzYMvIx8BAEEKHOGGMLTGYzGkdI_NhC" '字符串截取测试 Dim index index = InStr(1, para, "丨丨丨") 'MsgBox index 'Dim counter '截取左侧字符串 counter = Left(para, index - 1) 'MsgBox counter Dim url '截取右侧字符串 url = Right(para, Len(para) - index - 2) 'MsgBox url ' WebBrowser1.Navigate url End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, url As Variant) If (pDisp Is WebBrowser1.Object) Then 'MsgBox (WebBrowser1.Document) 'Dim HTML As HTMLDocument Dim strData As String 'strData = WebBrowser1.Document.body.innerText strData = WebBrowser1.Document.body.innerHtml 'Set HTML = WebBrowser1.Document 'strData = HTML.documentElement.innerHTML 'MsgBox (strData) Text1.Text = strData '写文件 Dim nHandle As Integer, fName As String 'fName = "d:\test.html" fName = "d:\book\w" & counter & ".html" nHandle = FreeFile Open fName For Output As #nHandle Print #nHandle, strData Close nHandle '退出程序 Unload Me End If End Sub Private Sub Form_Resize() WebBrowser1.Width = Me.ScaleWidth WebBrowser1.Height = Me.ScaleHeight End Sub
对于VB生成的EXE,用JAVA调用
public class TestExe { public static void main(String[] args) throws IOException, InterruptedException { String link = "http://www.baidu.com/link?url=tGeuyVVTLkLc_pbME3n_p8LMicqdmPWKuza0h3PQT1D7SMZLYkj_6Pxn-jBCw57jRcVRUBNrg5q4RzYMvIx8BAEEKHOGGMLTGYzGkdI_NhC"; int counter = 0; callExe(link, counter); } public static void callExe(String link, int counter) { Process process = null; String[] cmds = { "D:\\软件\\VisualBasic6.0-SCqy\\Project1\\工程1.exe", counter + "丨丨丨" + link }; // "http://www.baidu.com/link?url=tGeuyVVTLkLc_pbME3n_p8LMicqdmPWKuza0h3PQT1D7SMZLYkj_6Pxn-jBCw57jRcVRUBNrg5q4RzYMvIx8BAEEKHOGGMLTGYzGkdI_NhC" // }; try { process = new ProcessBuilder(cmds).start(); System.out.println(process.isAlive()); // true int exitVal = process.waitFor(); System.out.println(exitVal); // 0 System.out.println(process.isAlive()); // false } catch (Exception e) { System.out.println(e.getMessage()); } } }
调用EXE后阻塞,EXE执行完之后之后退出程序,JAVA继续执行。
相关推荐
C# 如何调用 VB6.0 编写的 dll 在本文中,我们将讨论如何在 C# 项目中调用 VB6.0 编写的 DLL。这是一个常见的问题,因为很多遗留系统都是使用 VB6.0 编写的,而新的系统则使用 C#。要调用 VB6.0 编写的 DLL,我们...
在VB6.0中调用Web Service,可以将传统的桌面应用与网络服务无缝集成,实现更丰富的功能。 首先,调用Web Service的基本步骤包括以下几点: 1. **获取WSDL文件**:Web Service通常通过一个名为WSDL(Web Services ...
在VB6.0环境下,开发人员经常需要实现与系统浏览器的交互,比如自动打开一个指定的网页。这个项目就是关于如何使用Visual Basic 6.0(VB6.0)源代码来调用浏览器并加载URL的功能。下面我们将深入探讨这个知识点。 ...
本主题将深入探讨如何在Visual Studio 2008(VS2008)环境下,使用C++代码调用由VB6.0编写的ActiveX DLL。ActiveX DLL是一种组件,它允许不同编程语言之间的交互,为开发者提供了极大的便利。 首先,我们要理解...
VB 6.0帮助文档_MSDN是微软开发者网络(MSDN)为程序员提供的官方技术文档,它包含了关于VB 6.0的所有关键知识点,包括语言语法、控件使用、API调用、事件处理以及错误处理等。 1. **基础概念**:VB 6.0基于Basic...
6. **ActiveX技术**:VB6.0利用ActiveX技术,可以创建和使用组件,这些组件可以被其他VB应用程序或者Web页面调用,增强了软件的可扩展性。 7. **MFC(Microsoft Foundation Classes)**:虽然VB6.0不是C++环境,但...
VB6.0运行库是微软Visual Basic 6.0编程环境的一个重要组成部分,它包含了运行由VB6.0编译的程序所必需的动态链接库(DLL)和其他系统组件。这些组件使得计算机能够理解并执行VB6.0编写的代码,即使目标机器上没有...
VB6.0,即Visual Basic 6.0,虽然相对较老,但仍被许多开发者用于编写桌面应用程序。然而,VB6.0本身并不直接支持WebSocket,因此需要借助第三方库或者自定义实现来达成目标。 要使用VB6.0实现WebSocket通信,通常...
VB6.0是其的一个重要版本,提供了丰富的控件和API调用,支持Windows API编程,使得开发者能够直接操作系统层面的功能。 在这个迷你版中,AC1.dll和AC2.dll很可能是自定义的动态链接库文件,用于扩展VB6.0的基础功能...
AutoCode for VB6.0是一款专为Visual Basic 6.0(VB6)设计的代码自动补全工具,旨在提高开发效率,减少程序员在编写VB6代码时的重复劳动。这款工具的独特之处在于它提供了与传统AutoCode不同的关键字自动完成功能,...
VB6.0(Visual Basic 6.0)是微软推出的一种面向对象的编程语言,常用于开发Windows应用程序。在这个项目中,“MODBUS VB读写寄存器”意味着我们将探讨如何在VB6.0环境下实现MODBUS协议,特别是针对寄存器的读写操作...
8. **API调用**:VB6.0还可以调用Windows API函数,以实现更底层的功能,例如系统级操作、硬件控制等。一些实例可能涉及API调用来增强程序的功能。 9. **错误处理**:VB6.0使用On Error语句进行错误处理,可以设置...
VB 6.0,全称Visual Basic 6.0,是微软公司开发的一款可视化的编程环境,主要用于构建Windows应用程序。这个“VB 6.0 帮助文档(中文)”是一个极其宝贵的资源,它详细解释了VB 6.0中的各种控件、函数以及编程概念,...
Visual Basic 6.0(简称VB6.0)是微软公司推出的一款经典编程环境,尤其适用于初学者和专业开发者,它以其直观易用的界面和强大的功能在编程界占据了重要地位。VB6.0是基于事件驱动的编程模型,支持对象导向编程,让...
标题中的“vb6.0编写的Modus/TCP主站程序”指的是使用Visual Basic 6.0(VB6.0)编程语言开发的Modbus/TCP协议的主站应用程序。Modbus是一种广泛应用的通信协议,尤其在工业自动化领域,它允许不同设备之间交换数据...
本文将详细解释如何使用VB6.0调用由C#编写的DLL动态链接库,以及在这一过程中涉及到的关键步骤和知识点。 首先,我们要了解VB6.0和C#之间的差异。VB6.0是基于COM(Component Object Model)技术的,而C#是.NET框架...
这个控件通常是一个动态链接库(DLL)或ActiveX组件,它可以被VB 6.0应用程序调用,实现二维码的生成和显示。根据描述,提供的压缩包可能包含了这样的控件,名为"QRcode条码生成控件"。安装和使用这个控件的过程如下...
这个主题涉及到的是如何在Visual Studio 2010(VS2010)环境下使用C#语言调用由VB6.0编写的ActiveX DLL。ActiveX DLL是一种控件,它能够被其他应用程序或组件调用来实现特定功能。下面我们将详细探讨四种调用方式...