想从sina财经提取上市公司财务数据。
方法是通过扫描对应公司的财务数据页面,然后提取财务指标数据,并插入到数据库中,页面例如:
http://money.finance.sina.com.cn/corp/go.php/vFD_FinancialGuideLine/stockid/600000/displaytype/4.phtml现在的问题是不知道用什么方法提取网页上面的数据
方法是通过扫描对应公司的财务数据页面,然后提取财务指标数据,并插入到数据库中,页面例如:
http://money.finance.sina.com.cn/corp/go.php/vFD_FinancialGuideLine/stockid/600000/displaytype/4.phtml现在的问题是不知道用什么方法提取网页上面的数据
http://www.mndsoft.com/blog/article.asp?id=1051
Private Sub Form_Load()
Me.WebBrowser1.Navigate2 "http://money.finance.sina.com.cn/corp/go.php/vFD_FinancialGuideLine/stockid/600000/displaytype/4.phtml"
End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
'Debug.Print "完成"
Dim doc As Object
Dim table As Object
Dim row As Object
Dim cell As Object
Dim strSQL As String
Static strData As String
If Len(strData) = 0 Then
Set table = Me.WebBrowser1.Document.getElementById("BalanceSheetNewTable0")
For Each row In table.rows '遍历表格中的每一行
strSQL = "Insert into 表名 Values("
For Each cell In row.cells
strSQL = strSQL & cell.innerText & "," '数据之间用","来间隔
Next
strSQL = Left(strSQL, Len(strSQL) - 1) '去掉最后一个间隔符
strSQL = strSQL & ")"
If InStr(strSQL, ",") > 0 Then
'cn.Execute strSQL
Debug.Print strSQL
End If
strData = strSQL & vbCrLf '加上回车换行符
Next
strData = Left(strData, Len(strData) - 2) '去掉最后一个换行符
End If
End Sub
http://www.is21.cn/article.asp?id=251
用的是INET控件hunzi1 = Inet.OpenURL("http://news.sina.com.cn/china/")hunzi1就是目标网页的数据了我的网站上的音乐和新闻代码就是用INET控件采来的.http://www.tf163.com
注意,不能直接判断WebBrowser的状态信息为“完成”,因为IFrame技术会使WebBrowser在一个页面里显示几次“完成“信息”。