作者:绿色风
分类:
时间:2022-08-17
浏览:115
楼主 0Mouse |
Q:如何提取网页源文件中两个指定字符串之间的内容呢? 源文件中首字符串:
源文件中尾字符串:
A:思路:借助Split函数先后以首、尾字符串为分隔符拆分成数组后提取。 示例代码如下:- Sub 提取两个指定字符串之间的内容()
- Dim f$, sr$, jg$
- f = ThisWorkbook.Path & "\"
- Open f & "sample.txt" For Input As #1
- Do While Not EOF(1)
- sr = sr & Input(1, #1)
- Loop
- Close #1
- Open f & "\jg.txt" For Output As #1
- Print #1, Split(Split(sr, "var listIssue")(1), "var stringBuilder")(0)
- Close #1
- MsgBox "提取完毕!"
- End Sub
附件: 提取网页源文件中两个指定字符串之间的内容.rar |
2楼 xyf2210 |
学习 |
3楼 xmyjk |
webbrowser提取法- Option Explicit
- Sub a()
- Dim ie1 As Object, dmt As Object, r As Object, i As Long, x As Long, j As Long
- 'Load UserForm1
- 'UserForm1.Show 0
- [a1].CurrentRegion.Clear
- Cells.NumberFormat = "@"
- Set ie1 = UserForm1.WebBrowser1
- With ie1
- .Navigate "http://video.shishicai.cn/haoma/cqssc/list/120.aspx"
- Do Until .ReadyState = 4
- DoEvents
- Loop
- Set dmt = .Document
- End With
- Set r = dmt.All.tags("table")(1).Rows
- For i = 0 To r.Length - 1
- For j = 0 To r(i).Cells.Length - 1
- Cells(i + 1, j + 1) = r(i).Cells(j).innerText
- Next
- Next
- Set ie1 = Nothing
- Set dmt = Nothing
- Set r = Nothing
- [a1].CurrentRegion.Columns.AutoFit
- End Sub
开奖.rar |
4楼 0Mouse |
弦月,上周在E之家见识了你的这一精简解法,只是还木有来得及消化。
期待你的“网页数据抓取”班开课呢! |
5楼 xmyjk |
客气了,还有xmlhttp做法- Option Explicit
- Sub test()
- Dim xmlhttp As Object, arr, i&, tmp
- Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
- Range("a1").CurrentRegion.Offset(1).ClearContents
- With xmlhttp
- .Open "get", "http://video.shishicai.cn/haoma/cqssc/list/120.aspx", False
- .send
- tmp = Filter(Split(Split(Split(Replace(.responsetext, "|", "-"), "var listIssue = [{")(1), "}];")(0), """"), "-")
- ReDim arr(UBound(tmp) \ 3, 2)
- For i = 0 To UBound(tmp)
- If i Mod 3 = 0 Then arr(i \ 3, i Mod 3) = Replace(tmp(i), "-", "|") Else arr(i \ 3, i Mod 3) = tmp(i)
- Next
- End With
- [a2].Resize(UBound(arr) + 1, UBound(arr, 2) + 1) = arr
- Set xmlhttp = Nothing
- MsgBox "OK!"
- End Sub
test.rar |
6楼 0Mouse |
又有新鲜的养分可以补充了! |
7楼 minren118 |
几位版主的网抓帖都是用split来提取,很少看到用正则的案例,用正则和split哪个比较好?我自己比较多用正则来提取 |
8楼 0Mouse |
都能解决问题,不过没有比较过,你不妨比较哈。:-) |
9楼 shunlibiye |
高手!羡慕 |
10楼 老糊涂 |
学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一