GetContent
Sub GetContent(ByVal URL As String, ByVal SheetName As String)
Dim strText As String
Dim i As Long
Dim OneSpan
Dim IsContent As Boolean With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.Send
strText = .responsetext
End With Dim arr() As String
ReDim arr(1 To 1) As String With CreateObject("htmlfile")
.write strText
i = 0
For Each OneSpan In .getElementsByTagName("span")
s = RegReplace(OneSpan.innerhtml, "<.*?>")
s = Replace(s, " ", "") If s = " 排行榜" Then IsContent = False
If IsContent Then
i = i + 1
ReDim Preserve arr(1 To i)
arr(i) = s
'Debug.Print s
'If i = 100 Then Exit For
End If
If s = "分类:" Then IsContent = True Next
End With Dim brr() As String
ReDim brr(1 To 1) brr(1) = arr(1)
M = 1
For n = 2 To i
If RegTest(arr(n - 1), "[A-D].") Or RegTest(arr(n - 1), "^\d*?.??$") Then
brr(M) = brr(M) & arr(n)
Else
M = M + 1
ReDim Preserve brr(1 To M)
brr(M) = arr(n)
End If
Next n For i = 1 To M
'Debug.Print brr(i)
If i = 150 Then Exit For
Next i Set sht = AddWorksheet(ThisWorkbook, SheetName) With sht
.Cells.ClearContents
.Range("A1:A1").Value = Array("内容")
.Range("A2").Resize(M, 1).Value = _
Application.WorksheetFunction.Transpose(brr)
End With End Sub Sub TestRegReplace()
s = "215MY"
s = RegReplace(s, "[A-Z]")
Debug.Print s
End Sub
Public Function RegReplace(ByVal OrgText As String, ByVal Pattern As String, Optional RepStr As String = "") As String
'传递参数 :原字符串, 匹配模式 ,替换字符
Dim Regex As Object
Dim newText As String
Set Regex = CreateObject("VBScript.RegExp")
With Regex
.Global = True
.Pattern = Pattern
End With
newText = Regex.Replace(OrgText, RepStr)
RegReplace = newText
Set Regex = Nothing
End Function Public Function RegTest(ByVal OrgText As String, ByVal Pattern As String) As Boolean
'传递参数 :原字符串, 匹配模式
Dim Regex As Object
Set Regex = CreateObject("VBScript.RegExp")
With Regex
.Global = True
.Pattern = Pattern
End With
RegTest = Regex.TEST(OrgText)
Set Regex = Nothing
End Function Sub dd()
Debug.Print RegTest("13.", "^\d+?.$")
End Sub Function AddWorksheet(ByVal Wb As Workbook, ByVal ShtName As String, Optional ReplaceSymbol As Boolean = True) As Worksheet
Dim sht As Worksheet
If Len(ShtName) = 0 Or Len(ShtName) > 31 Then
Set AddWorksheet = Nothing
MsgBox "Worksheet名称长度不符!", vbInformation, "AddWorksheet"
Exit Function
Else
On Error Resume Next
Set sht = Wb.Worksheets(ShtName)
If Err.Number = 9 Then
Set sht = Wb.Worksheets.Add(After:=Wb.Worksheets(Wb.Worksheets.Count))
Err.Clear
On Error GoTo 0
On Error Resume Next
sht.Name = ShtName
If Err.Number = 1004 Then
Err.Clear
On Error GoTo 0
If ReplaceSymbol Then
arr = Array("/", "\", "?", "*", "[", "]")
For i = LBound(arr) To UBound(arr)
ShtName = Replace(ShtName, arr(i), "")
Next i
Set AddWorksheet = AddWorksheet(Wb, ShtName) '再次调用
Else
Set AddWorksheet = Nothing
MsgBox "Worksheet名称含有特殊符号!", vbInformation, "AddWorksheet"
End If
Else
Set AddWorksheet = sht
End If
ElseIf Err.Number = 0 Then
Set AddWorksheet = sht
End If
End If
End Function
GetContent的更多相关文章
- 对Get-Content参数-readcount的解释
绝大多数用户更关心最新的日志,下面给出一个简单的例子演示从一个文本日志中获取最后的某几行文本行: # 显示windowsupdate.log 文件的最新5行日志 $logs = Get-Conte ...
- Why should i use url.openStream instead of of url.getContent?
I would like to retrieve the content of a url. Similar to pythons: html_content = urllib.urlopen(&qu ...
- RecyclerView使用大全
RecylerView介绍 RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recyler ...
- HttpClient的替代者 - RestTemplate
需要的包 ,除了Spring的基础包外还用到json的包,这里的数据传输使用json格式 客户端和服务端都用到一下的包 <!-- Spring --> <dependency> ...
- Socket聊天程序——Common
写在前面: 上一篇记录了Socket聊天程序的客户端设计,为了记录的完整性,这里还是将Socket聊天的最后一个模块--Common模块记录一下.Common的设计如下: 功能说明: Common模块 ...
- Socket聊天程序——客户端
写在前面: 上周末抽点时间把自己写的一个简单Socket聊天程序的初始设计和服务端细化设计记录了一下,周二终于等来毕业前考的软考证书,然后接下来就是在加班的日子度过了,今天正好周五,打算把客户端的详细 ...
- PowerShell过滤文件中的重复内容
Get-Content -Path E:\test11\data.txt | Sort-Object | Get-Unique 源文件: AA0001 2014-06-30 15:27:13.073 ...
- [转]利用URLConnection来发送POST和GET请求
URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接.程序可以通过URLConnection实例向该URL发送请求.读取U ...
- HttpUrlConnection 基础使用
From https://developer.android.com/reference/java/net/HttpURLConnection.html HttpUrlConnection: A UR ...
随机推荐
- Spring,Struts2,MyBatis,Activiti,Maven,H2,Tomcat集成(四)——Activiti集成
1.添加Activiti Maven依赖: <!-- ==============================activiti=========================== --&g ...
- appium记录
npm uninstall appium -g npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm install ...
- Linux基础命令---zcat
zcat 解压有gzip压缩的文件,将解压结果送到标准输出. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 z ...
- php CI 实战教程第一季百度经验杂志
phpCI实战教程第一季_百度经验杂志_百度经验http://jingyan.baidu.com/magazine/16428 杂志为本人php CI实战教程系列经验 从实际项目使用中写系列实战经验, ...
- Low-level Native Plugin Interface
http://docs.manew.com/Manual/index.htm https://docs.unity3d.com/Manual/NativePluginInterface.html ht ...
- 基于Swoole和Redis实现的并发队列处理系统
背景 由于PHP不支持多线程,但是作为一个完善的系统,有很多操作都是需要异步完成的.为了完成这些异步操作,我们做了一个基于Redis队列任务系统. 大家知道,一个消息队列处理系统主要分为两大部分:消费 ...
- 20145301 赵嘉鑫 《网络对抗》Exp5 MSF基础应用
20145301 赵嘉鑫 <网络对抗>Exp5 MSF基础应用 一 实验链接 渗透实验一:MS08_067渗透实验 渗透实验二:MS14_064渗透实验 (首用) 渗透实验三:Adobe ...
- js实现ajax请求
练下手,好久没写ajax var xmlhttp=null;//创建XMLHttprequest function createXMLHttpRequest(){ if(window.ActiveXO ...
- 函数引用参数加const
Fun(const Type& type); 在引用传递的时候,在函数内部改变参数,会改变参数实际值. 加上了const就不能被修改.
- 奖券数目|2015年蓝桥杯B组题解析第一题-fishers
奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位 ...