发布网友 发布时间:2022-04-24 04:35
共3个回答
热心网友 时间:2023-10-28 13:43
1,先表明一下你的说法,“从浏览器中复制表格到一个文本文档或剪贴板”
表格复制后放入文体文档是只能保留文字和数据,这种格式为TXT文档,站点有提供下载功能,
另站点还提供XLS格式的EXCEL表格下载。
如果你只需要开奖数据,以上已经足够。
2,做VBA动态更新分析表所用到的。
经过查看你提供的网页源代码,复制了关于数据这一段:
<div class="kai_tab" id="fast_issue_content">
<table class="kuai_tab fucai_tab" id="fastIssueList">
<thead>
<tr>
<td class="kuai_w1">期数</td>
<td class="kuai_w2">开奖号码</td>
<td>开奖时间</td>
<td>中奖组合</td>
<td> </td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
并查了class和ID属性值,所引用的是经过JavaScript处理调用数据库的值,不是一个文本文件的集合,
如:双色球的文体文件如下:http://www.17500.cn/getData/ssq.TXT
这种才可好处理,示列如下:
Private Sub CommandButton1_Click()
Range("A3:AC3500").Clear
k3dshijihao = "http://www.17500.cn/getData/ssq.TXT"
d3s = "WData3D_All"
Cells(2, 1) = "开奖期号"
Cells(2, 2) = "开奖日期"
Cells(2, 3) = "红"
Cells(2, 4) = "球"
Cells(2, 5) = "大 "
Cells(2, 6) = "小"
Cells(2, 7) = "顺"
Cells(2, 8) = "序"
Cells(2, 9) = "蓝"
Cells(2, 10) = "红"
Cells(2, 11) = "球"
Cells(2, 12) = "出"
Cells(2, 13) = "球"
Cells(2, 14) = "顺"
Cells(2, 15) = "序"
Cells(2, 16) = "投注总额"
Cells(2, 17) = "奖池金额"
Cells(2, 18) = "一等注数"
Cells(2, 19) = "一等金额"
Cells(2, 20) = "二等注数"
Cells(2, 21) = "二等金额"
Cells(2, 22) = "三等注数"
Cells(2, 23) = "金额"
Cells(2, 24) = "四等注数"
Cells(2, 25) = "金额"
Cells(2, 26) = "五等注数"
Cells(2, 27) = "金额"
Cells(2, 28) = "六等注数"
Cells(2, 29) = "金额"
cz = k3dshijihao: czmc = d3s
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & cz, Destination:=Range("A3"))
.Name = czmc
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Range("A" & (Application.Count(Range("a1:a3000")))).Select
End
End Sub
将以上代码贴到VBA中,再加个按钮指定它,试试结果,如果是你想要的这种结果
可以将引用的http://www.17500.cn/getData/ssq.TXT。改为你网站下载来的TXT文件路径,再做相关VBA代修改就可以完成!追问你的回答很精彩,我的意思如果在浏览器中抓取,就像我们手动选择其中的表格然后粘贴到TXT文件,就得到了很规则容易处理的排列(不是格式)文本。现在多数网站都对表格数据进行过处理以防止直接下载,所以才请教能否用VBA将浏览器屏幕显示抓取(不是下载)到剪贴板,只要抓取到剪贴板,后面肯定能够处理成表格的。
追答我明白你的想法,但很抱歉的说声,你提供的站点在页面是不存在关于你要的那些数据,那些数据是通过ID和class调出数据库里存在的值,也就是说你在页面上看到的内容是动态显示的,而你要抓取页面的动态值,有两种方法:
1,先将动态调用的页面转为静态页面,然后再取值(这不是VBA能做的)
2,直接去索取数据的源头(数据库),但你必须懂得数据库的账户和密码以及数据库的储存方式
分析以上做法的结果:
第1种,你能转成静态页面,而进行抓取想要的值,但这些值在更新后你就得重复转换和抓取,
这种工作量已接近了人工操作,违背了VBA的自动化,变得豪无意义。
第2种,估且让你知道了数据库的账号和密码,那么接下来的数据库操作又是一门新的课程
变通方法,放弃当前的站点,寻找其它站点能直接提供文本格式的数据!
热心网友 时间:2023-10-28 13:44
这个用VBA很难做到,需要用到网络爬虫之类的软件,最好是花钱找人定做一个
热心网友 时间:2023-10-28 13:44
风淡淡的淡淡的淡淡的淡淡的淡淡的淡淡
热心网友 时间:2023-10-28 13:43
1,先表明一下你的说法,“从浏览器中复制表格到一个文本文档或剪贴板”
表格复制后放入文体文档是只能保留文字和数据,这种格式为TXT文档,站点有提供下载功能,
另站点还提供XLS格式的EXCEL表格下载。
如果你只需要开奖数据,以上已经足够。
2,做VBA动态更新分析表所用到的。
经过查看你提供的网页源代码,复制了关于数据这一段:
<div class="kai_tab" id="fast_issue_content">
<table class="kuai_tab fucai_tab" id="fastIssueList">
<thead>
<tr>
<td class="kuai_w1">期数</td>
<td class="kuai_w2">开奖号码</td>
<td>开奖时间</td>
<td>中奖组合</td>
<td> </td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
并查了class和ID属性值,所引用的是经过JavaScript处理调用数据库的值,不是一个文本文件的集合,
如:双色球的文体文件如下:http://www.17500.cn/getData/ssq.TXT
这种才可好处理,示列如下:
Private Sub CommandButton1_Click()
Range("A3:AC3500").Clear
k3dshijihao = "http://www.17500.cn/getData/ssq.TXT"
d3s = "WData3D_All"
Cells(2, 1) = "开奖期号"
Cells(2, 2) = "开奖日期"
Cells(2, 3) = "红"
Cells(2, 4) = "球"
Cells(2, 5) = "大 "
Cells(2, 6) = "小"
Cells(2, 7) = "顺"
Cells(2, 8) = "序"
Cells(2, 9) = "蓝"
Cells(2, 10) = "红"
Cells(2, 11) = "球"
Cells(2, 12) = "出"
Cells(2, 13) = "球"
Cells(2, 14) = "顺"
Cells(2, 15) = "序"
Cells(2, 16) = "投注总额"
Cells(2, 17) = "奖池金额"
Cells(2, 18) = "一等注数"
Cells(2, 19) = "一等金额"
Cells(2, 20) = "二等注数"
Cells(2, 21) = "二等金额"
Cells(2, 22) = "三等注数"
Cells(2, 23) = "金额"
Cells(2, 24) = "四等注数"
Cells(2, 25) = "金额"
Cells(2, 26) = "五等注数"
Cells(2, 27) = "金额"
Cells(2, 28) = "六等注数"
Cells(2, 29) = "金额"
cz = k3dshijihao: czmc = d3s
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & cz, Destination:=Range("A3"))
.Name = czmc
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Range("A" & (Application.Count(Range("a1:a3000")))).Select
End
End Sub
将以上代码贴到VBA中,再加个按钮指定它,试试结果,如果是你想要的这种结果
可以将引用的http://www.17500.cn/getData/ssq.TXT。改为你网站下载来的TXT文件路径,再做相关VBA代修改就可以完成!追问你的回答很精彩,我的意思如果在浏览器中抓取,就像我们手动选择其中的表格然后粘贴到TXT文件,就得到了很规则容易处理的排列(不是格式)文本。现在多数网站都对表格数据进行过处理以防止直接下载,所以才请教能否用VBA将浏览器屏幕显示抓取(不是下载)到剪贴板,只要抓取到剪贴板,后面肯定能够处理成表格的。
追答我明白你的想法,但很抱歉的说声,你提供的站点在页面是不存在关于你要的那些数据,那些数据是通过ID和class调出数据库里存在的值,也就是说你在页面上看到的内容是动态显示的,而你要抓取页面的动态值,有两种方法:
1,先将动态调用的页面转为静态页面,然后再取值(这不是VBA能做的)
2,直接去索取数据的源头(数据库),但你必须懂得数据库的账户和密码以及数据库的储存方式
分析以上做法的结果:
第1种,你能转成静态页面,而进行抓取想要的值,但这些值在更新后你就得重复转换和抓取,
这种工作量已接近了人工操作,违背了VBA的自动化,变得豪无意义。
第2种,估且让你知道了数据库的账号和密码,那么接下来的数据库操作又是一门新的课程
变通方法,放弃当前的站点,寻找其它站点能直接提供文本格式的数据!
热心网友 时间:2023-10-28 13:43
1,先表明一下你的说法,“从浏览器中复制表格到一个文本文档或剪贴板”
表格复制后放入文体文档是只能保留文字和数据,这种格式为TXT文档,站点有提供下载功能,
另站点还提供XLS格式的EXCEL表格下载。
如果你只需要开奖数据,以上已经足够。
2,做VBA动态更新分析表所用到的。
经过查看你提供的网页源代码,复制了关于数据这一段:
<div class="kai_tab" id="fast_issue_content">
<table class="kuai_tab fucai_tab" id="fastIssueList">
<thead>
<tr>
<td class="kuai_w1">期数</td>
<td class="kuai_w2">开奖号码</td>
<td>开奖时间</td>
<td>中奖组合</td>
<td> </td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
并查了class和ID属性值,所引用的是经过JavaScript处理调用数据库的值,不是一个文本文件的集合,
如:双色球的文体文件如下:http://www.17500.cn/getData/ssq.TXT
这种才可好处理,示列如下:
Private Sub CommandButton1_Click()
Range("A3:AC3500").Clear
k3dshijihao = "http://www.17500.cn/getData/ssq.TXT"
d3s = "WData3D_All"
Cells(2, 1) = "开奖期号"
Cells(2, 2) = "开奖日期"
Cells(2, 3) = "红"
Cells(2, 4) = "球"
Cells(2, 5) = "大 "
Cells(2, 6) = "小"
Cells(2, 7) = "顺"
Cells(2, 8) = "序"
Cells(2, 9) = "蓝"
Cells(2, 10) = "红"
Cells(2, 11) = "球"
Cells(2, 12) = "出"
Cells(2, 13) = "球"
Cells(2, 14) = "顺"
Cells(2, 15) = "序"
Cells(2, 16) = "投注总额"
Cells(2, 17) = "奖池金额"
Cells(2, 18) = "一等注数"
Cells(2, 19) = "一等金额"
Cells(2, 20) = "二等注数"
Cells(2, 21) = "二等金额"
Cells(2, 22) = "三等注数"
Cells(2, 23) = "金额"
Cells(2, 24) = "四等注数"
Cells(2, 25) = "金额"
Cells(2, 26) = "五等注数"
Cells(2, 27) = "金额"
Cells(2, 28) = "六等注数"
Cells(2, 29) = "金额"
cz = k3dshijihao: czmc = d3s
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & cz, Destination:=Range("A3"))
.Name = czmc
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Range("A" & (Application.Count(Range("a1:a3000")))).Select
End
End Sub
将以上代码贴到VBA中,再加个按钮指定它,试试结果,如果是你想要的这种结果
可以将引用的http://www.17500.cn/getData/ssq.TXT。改为你网站下载来的TXT文件路径,再做相关VBA代修改就可以完成!追问你的回答很精彩,我的意思如果在浏览器中抓取,就像我们手动选择其中的表格然后粘贴到TXT文件,就得到了很规则容易处理的排列(不是格式)文本。现在多数网站都对表格数据进行过处理以防止直接下载,所以才请教能否用VBA将浏览器屏幕显示抓取(不是下载)到剪贴板,只要抓取到剪贴板,后面肯定能够处理成表格的。
追答我明白你的想法,但很抱歉的说声,你提供的站点在页面是不存在关于你要的那些数据,那些数据是通过ID和class调出数据库里存在的值,也就是说你在页面上看到的内容是动态显示的,而你要抓取页面的动态值,有两种方法:
1,先将动态调用的页面转为静态页面,然后再取值(这不是VBA能做的)
2,直接去索取数据的源头(数据库),但你必须懂得数据库的账户和密码以及数据库的储存方式
分析以上做法的结果:
第1种,你能转成静态页面,而进行抓取想要的值,但这些值在更新后你就得重复转换和抓取,
这种工作量已接近了人工操作,违背了VBA的自动化,变得豪无意义。
第2种,估且让你知道了数据库的账号和密码,那么接下来的数据库操作又是一门新的课程
变通方法,放弃当前的站点,寻找其它站点能直接提供文本格式的数据!
热心网友 时间:2023-10-28 13:44
这个用VBA很难做到,需要用到网络爬虫之类的软件,最好是花钱找人定做一个
热心网友 时间:2023-10-28 13:43
1,先表明一下你的说法,“从浏览器中复制表格到一个文本文档或剪贴板”
表格复制后放入文体文档是只能保留文字和数据,这种格式为TXT文档,站点有提供下载功能,
另站点还提供XLS格式的EXCEL表格下载。
如果你只需要开奖数据,以上已经足够。
2,做VBA动态更新分析表所用到的。
经过查看你提供的网页源代码,复制了关于数据这一段:
<div class="kai_tab" id="fast_issue_content">
<table class="kuai_tab fucai_tab" id="fastIssueList">
<thead>
<tr>
<td class="kuai_w1">期数</td>
<td class="kuai_w2">开奖号码</td>
<td>开奖时间</td>
<td>中奖组合</td>
<td> </td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
并查了class和ID属性值,所引用的是经过JavaScript处理调用数据库的值,不是一个文本文件的集合,
如:双色球的文体文件如下:http://www.17500.cn/getData/ssq.TXT
这种才可好处理,示列如下:
Private Sub CommandButton1_Click()
Range("A3:AC3500").Clear
k3dshijihao = "http://www.17500.cn/getData/ssq.TXT"
d3s = "WData3D_All"
Cells(2, 1) = "开奖期号"
Cells(2, 2) = "开奖日期"
Cells(2, 3) = "红"
Cells(2, 4) = "球"
Cells(2, 5) = "大 "
Cells(2, 6) = "小"
Cells(2, 7) = "顺"
Cells(2, 8) = "序"
Cells(2, 9) = "蓝"
Cells(2, 10) = "红"
Cells(2, 11) = "球"
Cells(2, 12) = "出"
Cells(2, 13) = "球"
Cells(2, 14) = "顺"
Cells(2, 15) = "序"
Cells(2, 16) = "投注总额"
Cells(2, 17) = "奖池金额"
Cells(2, 18) = "一等注数"
Cells(2, 19) = "一等金额"
Cells(2, 20) = "二等注数"
Cells(2, 21) = "二等金额"
Cells(2, 22) = "三等注数"
Cells(2, 23) = "金额"
Cells(2, 24) = "四等注数"
Cells(2, 25) = "金额"
Cells(2, 26) = "五等注数"
Cells(2, 27) = "金额"
Cells(2, 28) = "六等注数"
Cells(2, 29) = "金额"
cz = k3dshijihao: czmc = d3s
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & cz, Destination:=Range("A3"))
.Name = czmc
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Range("A" & (Application.Count(Range("a1:a3000")))).Select
End
End Sub
将以上代码贴到VBA中,再加个按钮指定它,试试结果,如果是你想要的这种结果
可以将引用的http://www.17500.cn/getData/ssq.TXT。改为你网站下载来的TXT文件路径,再做相关VBA代修改就可以完成!追问你的回答很精彩,我的意思如果在浏览器中抓取,就像我们手动选择其中的表格然后粘贴到TXT文件,就得到了很规则容易处理的排列(不是格式)文本。现在多数网站都对表格数据进行过处理以防止直接下载,所以才请教能否用VBA将浏览器屏幕显示抓取(不是下载)到剪贴板,只要抓取到剪贴板,后面肯定能够处理成表格的。
追答我明白你的想法,但很抱歉的说声,你提供的站点在页面是不存在关于你要的那些数据,那些数据是通过ID和class调出数据库里存在的值,也就是说你在页面上看到的内容是动态显示的,而你要抓取页面的动态值,有两种方法:
1,先将动态调用的页面转为静态页面,然后再取值(这不是VBA能做的)
2,直接去索取数据的源头(数据库),但你必须懂得数据库的账户和密码以及数据库的储存方式
分析以上做法的结果:
第1种,你能转成静态页面,而进行抓取想要的值,但这些值在更新后你就得重复转换和抓取,
这种工作量已接近了人工操作,违背了VBA的自动化,变得豪无意义。
第2种,估且让你知道了数据库的账号和密码,那么接下来的数据库操作又是一门新的课程
变通方法,放弃当前的站点,寻找其它站点能直接提供文本格式的数据!
热心网友 时间:2023-10-28 13:44
这个用VBA很难做到,需要用到网络爬虫之类的软件,最好是花钱找人定做一个
热心网友 时间:2023-10-28 13:44
风淡淡的淡淡的淡淡的淡淡的淡淡的淡淡
热心网友 时间:2023-10-28 13:44
风淡淡的淡淡的淡淡的淡淡的淡淡的淡淡
热心网友 时间:2023-10-28 13:44
这个用VBA很难做到,需要用到网络爬虫之类的软件,最好是花钱找人定做一个
热心网友 时间:2023-10-28 13:44
风淡淡的淡淡的淡淡的淡淡的淡淡的淡淡