| 回复答案 |
共22条 |
| |
从网页上精确提取数据 ' ' 为运行本程序,应在“菜单->工程->部件”中添加“Microsoft Internet Controls” ' 并在“菜单->工程->引用”中添加“Microsoft HTML Object Library” ' ' 为了简洁,程序仅下载九只个股的基本信息 Option Explicit Private Const Form_ID = 1 Dim Code(9) As String Dim Current As Long Private Sub Form_Load() Form1.MousePointer = 11 ' 以下是个股代码 ' 为了程序简洁,这里仅使用九只代码。 ' 而在真实环境中,应从数据文件中读入全部个股代码。 Code(0) = "600001": Code(1) = "600002": Code(2) = "600003" Code(3) = "600005": Code(4) = "600006": Code(5) = "600007" Code(6) = "600008": Code(7) = "600009": Code(8) = "600010" Current = 0 WebBrowser1.Navigate "www.stockstar.com.cn" ' 起始网址 End Sub Private Sub WebBrowser1_DocumentComplete(ByValpDisp As Object, URL As Variant) Dim i, k Text2 = WebBrowser1.LocationURL ' 显示当前网址 ' 判断当前网页是否全部调入完毕 If Not (pDisp Is WebBrowser1.Object) Then Exit Sub On Error Resume Next Select Case Text2 Case "http://www.stockstar.com.cn/home.htm" ' 当进入主页面时执行以下程序 For i = 0 To WebBrowser1.Document.Forms(Form_ID).length - 1 ' 找到代码输入框后填入个股代码 If WebBrowser1.Document.Forms(Form_ID)(i).Name = "code" Then _ WebBrowser1.Document.Forms(Form_ID)(i).Value = Code(Current) ' 在下拉式列表中进行选择 If WebBrowser1.Document.Forms(Form_ID)(i).Name = "target" Then For k = 0 To WebBrowser1.Document.Forms(Form_ID)(i).length - 1 If WebBrowser1.Document.Forms(Form_ID)(i).Options(k).Text _ = "个股资料" Then WebBrowser1.Document.Forms(Form_ID)(i).Options(k).Selected = True Exit For End If Next k End If ' 点击按钮 If WebBrowser1.Document.Forms(Form_ID)(i).Value = " 查询 " Then _ WebBrowser1.Document.Forms(Form_ID)(i).Click Next Case Else ' 当进入数据页面时执行以下程序 For i = 0 To WebBrowser1.Document.All.length - 1 If WebBrowser1.Document.All(i).tagName = "PRE" Then ' 精确提取数据 Text1 = Text1 + Code(Current) + vbCrLf + _ WebBrowser1.Document.All(i).innerText + vbCrLf Exit For End If Next ' 数据存盘 Open "C:\Data2.Txt" For Append As #1 Print #1, Text1: Text1 = "": Close #1 ' 换下一只股票 Current = Current + 1 If Current >= 9 Then ' 上网任务完成后,应在此调用自动挂断过程。 Form1.MousePointer = 0: MsgBox "Finished!": End End If ' 回退到主页面,查询下一只股票的信息 WebBrowser1.GoBack End Select End Sub |
| 回答者:luyougong@sohu.com - 头衔:开发爱好者 2008-7-25 11:03:12 |
|
| |
用ajax应该可以实现!! 1.首先用JAVASCRIPT来获取值表格的值: var valueTable = document.getElementById("valueTable") ; 2.然后就可以用这个表达式来输出值: for (var i=1;i<valueTable.childNodes.length;i++) { var valueCell1 = valueTable.childNodes[0].childNodes[i].nodeValue ; var valueCell2 = valueTable.childNodes[0].childNodes[i].nodeValue ; var valueCell3 = valueTable.childNodes[0].childNodes[i].nodeValue ; } 3.知道了这些值,之后就可以传送了 (注意)1.valueTable代表表格的节点 2.valueCell1代表表格中的值 3.valueTable.childNodes.length代表valueTable表格中的节点个数
|
| 回答者:m441748725@163.com - 头衔:开发爱好者 2007-12-4 22:15:56 |
|
| |
程序一:从网页上精确提取数据 ' ' 为运行本程序,应在“菜单->工程->部件”中添加“Microsoft Internet Controls” ' 并在“菜单->工程->引用”中添加“Microsoft HTML Object Library” ' ' 为了简洁,程序仅下载九只个股的基本信息 Option Explicit Private Const Form_ID = 1 Dim Code(9) As String Dim Current As Long Private Sub Form_Load() Form1.MousePointer = 11 ' 以下是个股代码 ' 为了程序简洁,这里仅使用九只代码。 ' 而在真实环境中,应从数据文件中读入全部个股代码。 Code(0) = "600001": Code(1) = "600002": Code(2) = "600003" Code(3) = "600005": Code(4) = "600006": Code(5) = "600007" Code(6) = "600008": Code(7) = "600009": Code(8) = "600010" Current = 0 WebBrowser1.Navigate "www.stockstar.com.cn" ' 起始网址 End Sub Private Sub WebBrowser1_DocumentComplete(ByValpDisp As Object, URL As Variant) Dim i, k Text2 = WebBrowser1.LocationURL ' 显示当前网址 ' 判断当前网页是否全部调入完毕 If Not (pDisp Is WebBrowser1.Object) Then Exit Sub On Error Resume Next Select Case Text2 Case "http://www.stockstar.com.cn/home.htm" ' 当进入主页面时执行以下程序 For i = 0 To WebBrowser1.Document.Forms(Form_ID).length - 1 ' 找到代码输入框后填入个股代码 If WebBrowser1.Document.Forms(Form_ID)(i).Name = "code" Then _ WebBrowser1.Document.Forms(Form_ID)(i).Value = Code(Current) ' 在下拉式列表中进行选择 If WebBrowser1.Document.Forms(Form_ID)(i).Name = "target" Then For k = 0 To WebBrowser1.Document.Forms(Form_ID)(i).length - 1 If WebBrowser1.Document.Forms(Form_ID)(i).Options(k).Text _ = "个股资料" Then WebBrowser1.Document.Forms(Form_ID)(i).Options(k).Selected = True Exit For End If Next k End If ' 点击按钮 If WebBrowser1.Document.Forms(Form_ID)(i).Value = " 查询 " Then _ WebBrowser1.Document.Forms(Form_ID)(i).Click Next Case Else ' 当进入数据页面时执行以下程序 For i = 0 To WebBrowser1.Document.All.length - 1 If WebBrowser1.Document.All(i).tagName = "PRE" Then ' 精确提取数据 Text1 = Text1 + Code(Current) + vbCrLf + _ WebBrowser1.Document.All(i).innerText + vbCrLf Exit For End If Next ' 数据存盘 Open "C:\Data2.Txt" For Append As #1 Print #1, Text1: Text1 = "": Close #1 ' 换下一只股票 Current = Current + 1 If Current >= 9 Then ' 上网任务完成后,应在此调用自动挂断过程。 Form1.MousePointer = 0: MsgBox "Finished!": End End If ' 回退到主页面,查询下一只股票的信息 WebBrowser1.GoBack End Select End Sub |
| 回答者:luyougong@sohu.com - 头衔:开发爱好者 2007-11-16 8:51:38 |
|
| |
kidchild@163.com你好,用javascritp是可以取得列表(table)中的值,请问一下这个值怎怎么传到后到中去呢? |
| 回答者:dhappy05@126.com - 头衔:开发爱好者 2007-11-6 15:41:44 |
|
| |
有的是input表单还是有struts里的thml里的标签 如果有input就用request.getParameter()来取的你想要的值 如果是有struts在ActionForm里就会自动把前台的数据存到相应的对像里。 |
| 回答者:gao407584979@126.com - 头衔:开发爱好者 2007-8-29 9:21:30 |
|
| |
直接用javascript取得: var datavalue = document.all.tablename.rows(i+1).cells[i].innerText; 由于第一行是表头,所以rows中的参数是i+1,注意是(). |
| 回答者:kidchild@163.com - 头衔:开发爱好者 2007-8-28 10:26:10 |
|
| |
request.getParameter("要取的名称");来取到你要的, 然后再要insert int 表名 (name1,name2,...,) values(?,?,?,...,?)来存到数据库中 |
| 回答者:colin119520@163.com - 头衔:开发爱好者 2007-7-22 14:45:03 |
|
| |
有的是input表单还是有struts里的thml里的标签 如果有input就用request.getParameter()来取的你想要的值 如果是有struts在ActionForm里就会自动把前台的数据存到相应的对像里 |
| 回答者:ljbm34@yahoo.com.cn - 头衔:开发爱好者 2007-6-29 1:59:34 |
|
| |
有的是input表单还是有struts里的thml里的标签 如果有input就用request.getParameter()来取的你想要的值 如果是有struts在ActionForm里就会自动把前台的数据存到相应的对像里。 |
| 回答者:sunnaiwei001zp@163.com - 头衔:开发爱好者 2007-6-27 9:35:17 |
|
| |
你有网站的修改权的话,就用form表单比较简单,你的本来也是个表单,所以实现起来很简单 |
| 回答者:taidugaodu@163.com - 头衔:开发爱好者 2007-6-22 18:47:01 |
|
| |
你可以使用IFrame实现,实际上IFrame与AJAX没有太多的本质区别 |
| 回答者:z2000lxh@sina.com - 头衔:开发爱好者 2007-6-22 13:08:02 |
|
|
|
|
| 欢迎使用本系统,智囊团。踊跃回答,赢得积分。 |
|
| 使用有问题请到 帮助 |
|