用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 ...
6. **ActiveX技术**:VB6.0利用ActiveX技术,可以创建和使用组件,这些组件可以被其他VB应用程序或者Web页面调用,增强了软件的可扩展性。 7. **MFC(Microsoft Foundation Classes)**:虽然VB6.0不是C++环境,但...
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中的各种控件、函数以及编程概念,...
本文将详细解释如何使用VB6.0调用由C#编写的DLL动态链接库,以及在这一过程中涉及到的关键步骤和知识点。 首先,我们要了解VB6.0和C#之间的差异。VB6.0是基于COM(Component Object Model)技术的,而C#是.NET框架...
标题中的“vb6.0编写的Modus/TCP主站程序”指的是使用Visual Basic 6.0(VB6.0)编程语言开发的Modbus/TCP协议的主站应用程序。Modbus是一种广泛应用的通信协议,尤其在工业自动化领域,它允许不同设备之间交换数据...
VB6.0(Visual Basic 6.0)是微软推出的一种面向对象的编程语言,常用于开发Windows应用程序。在这个项目中,“MODBUS VB读写寄存器”意味着我们将探讨如何在VB6.0环境下实现MODBUS协议,特别是针对寄存器的读写操作...
这个控件通常是一个动态链接库(DLL)或ActiveX组件,它可以被VB 6.0应用程序调用,实现二维码的生成和显示。根据描述,提供的压缩包可能包含了这样的控件,名为"QRcode条码生成控件"。安装和使用这个控件的过程如下...
VB6.0(Visual Basic 6.0)是微软公司发布的一款可视化的编程环境,主要用于开发Windows应用程序。这款编程工具以其简单易学、强大的Windows API支持以及丰富的控件库而广受欢迎,尤其适合初学者入门。"VB6.0源码...
首先,VB6.0中的USB扫描枪连接主要涉及到WinAPI函数调用,如`CreateFile`、`DeviceIoControl`等,用于建立与扫描枪的通信通道。这些API函数允许开发者直接与硬件设备交互,打开、关闭以及控制USB设备。开发者还需要...
总的来说,VB6.0调用QRMAKER生成二维码是一个直观且实用的过程,结合文档学习,即使是初学者也能很快掌握。通过这个工具,你可以将各种信息编码成二维码,方便在移动设备上扫描读取,拓宽了VB6.0应用程序的数据交互...
本压缩包中的"VB6.0调用控件制作播放器的源码.rar"提供了这样一种实例,帮助开发者了解如何利用Visual Basic 6.0的内置组件和第三方控件来创建一个基本的媒体播放器。 首先,让我们关注一下这个播放器支持的文件...
6. **API调用**:了解如何使用WinAPI函数来扩展VB 6.0的功能,例如系统级操作或硬件交互。 7. **数据库访问**:ADO(ActiveX Data Objects)的使用,包括连接数据库、执行SQL语句、处理结果集等。 8. **错误处理和...
在VB6.0中实现CAD功能,主要是通过编程接口(API)调用操作系统底层的图形绘制函数,或者使用专门的图形库来实现。开发者可以通过编写代码来控制线条的绘制、图形的旋转、缩放、复制等操作,从而创建出具有CAD功能的...
3. **VB6.0的API调用**:由于VB6.0本身不直接支持PPI协议,我们通常需要借助API函数(如WinAPI或第三方库)来发送和接收串行数据。例如,使用`WriteFile`和`ReadFile` API函数进行串口通信。 4. **帧结构**:PPI...
《VB6.0 MODBUSTCP 工程应用详解》 在现代工业自动化领域,通信协议扮演着至关重要的角色,其中MODBUS TCP协议因其简单、高效而被广泛应用。本篇文章将深入探讨如何利用Visual Basic 6.0(简称VB6.0)进行MODBUSTCP...
Visual Basic 6.0(简称VB6.0)是微软公司推出的一款经典编程环境,尤其适用于初学者和专业开发者,它以其直观易用的界面和强大的功能在编程界占据了重要地位。VB6.0是基于事件驱动的编程模型,支持对象导向编程,让...