用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...
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环境下,开发人员经常需要实现一个功能,即通过编程方式调用系统默认的浏览器来打开指定的网页。这个过程涉及到Windows API(应用程序接口)的使用,特别是使用`ShellExecute`函数来启动外部应用程序。下面...
VB6.0(Visual Basic 6.0)是微软推出的一种面向对象的编程语言,常用于开发Windows应用程序。在这个项目中,“MODBUS VB读写寄存器”意味着我们将探讨如何在VB6.0环境下实现MODBUS协议,特别是针对寄存器的读写操作...
VB6.0,全称Visual Basic 6.0,是微软公司推出的一款经典的可视化编程工具,主要用于开发Windows桌面应用程序。在VB6.0中,图标是界面设计的关键组成部分,它们可以提升应用的用户体验和美观度。VB6.0支持直接在工程...
VB 6.0,全称Visual Basic 6.0,是微软公司开发的一款可视化的编程环境,主要用于构建Windows应用程序。这个“VB 6.0 帮助文档(中文)”是一个极其宝贵的资源,它详细解释了VB 6.0中的各种控件、函数以及编程概念,...
8. **API调用**:VB6.0还可以调用Windows API函数,以实现更底层的功能,例如系统级操作、硬件控制等。一些实例可能涉及API调用来增强程序的功能。 9. **错误处理**:VB6.0使用On Error语句进行错误处理,可以设置...
标题中的“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框架...
Visual Basic 6.0(简称VB6.0)是微软公司推出的一款经典编程环境,尤其适用于初学者和专业开发者,它以其直观易用的界面和强大的功能在编程界占据了重要地位。VB6.0是基于事件驱动的编程模型,支持对象导向编程,让...
总的来说,VB6.0调用QRMAKER生成二维码是一个直观且实用的过程,结合文档学习,即使是初学者也能很快掌握。通过这个工具,你可以将各种信息编码成二维码,方便在移动设备上扫描读取,拓宽了VB6.0应用程序的数据交互...
这个控件通常是一个动态链接库(DLL)或ActiveX组件,它可以被VB 6.0应用程序调用,实现二维码的生成和显示。根据描述,提供的压缩包可能包含了这样的控件,名为"QRcode条码生成控件"。安装和使用这个控件的过程如下...
VB6.0(Visual Basic 6.0)是微软公司发布的一款可视化的编程环境,主要用于开发Windows应用程序。这款编程工具以其简单易学、强大的Windows API支持以及丰富的控件库而广受欢迎,尤其适合初学者入门。"VB6.0源码...