标题:如何获取网页中的内容
只看楼主
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
结帖率:100%
已结贴  问题点数:9 回复次数:12 
如何获取网页中的内容


我圈起来的,是期号,试机号,奖号(我只需要这几个数据)

请教如何用VFP获取指定网页上的内容
我要做一个彩票软件,我想直接采集新浪彩票的数据,所以我想到了直接抓取新浪的数据,因为新浪不会倒闭,所以采他们的数据是稳定的。
他们网站是固定的数据(每次只加载50条数据),所以我只需要采集最后一排的,就是今天的开奖号,用来做我的更新,我想实现自动更新!
下面是网址:
https://match.lottery.
那位大佬帮帮忙,给点代码
最好给点注释,本人没写过这类似的程序,基础不是很好,还需要消化!非常感谢!
搜索更多相关主题的帖子: 内容 获取 数据 网页 新浪 
2023-03-17 20:46
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:3 
url = 'https://match.lottery.'
oHttp = NewObject('Msxml2.XMLHTTP')
oHttp.open('GET', url, .f.)
oHttp.send()
cc = oHttp.responseText
cc = StrExtract(cc, '<tbody id="cpdata">', '</tbody>')
nn = Occurs('</tr>', cc)
cc = StrExtract(cc, '<tr', '</tr>', nn)
? StrExtract(cc, '<td>', '</td>', 1)
? StrExtract(cc, '<td class="fen">', '</td>', 1)
? StrExtract(cc, '<td class="fen">', '</td>', 2)
? StrExtract(cc, '<td>', '</td>', 2)
2023-03-17 21:45
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:1 
楼主的问题应该没说清楚吧

坚守VFP最后的阵地
2023-03-17 22:00
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:3 
程序代码:
CLEAR 
url = 'https://match.lottery.'
oHttp = NewObject('Msxml2.XMLHTTP')
oHttp.open('GET', url, .f.)
oHttp.send()
cc = oHttp.responseText
cc = STREXTRACT(cc, '<tr>', '</tr>', 50)
= ALINES(la, cc, 5)
? STREXTRACT(la[1], '>', '<')
? IIF("title="$la[3], STREXTRACT(la[3],">","<",2), STREXTRACT(la[3],">","<",1))
? IIF("title="$la[5], STREXTRACT(la[5],">","<",2), STREXTRACT(la[5],">","<",1))



[此贴子已经被作者于2023-3-17 23:12编辑过]


坚守VFP最后的阵地
2023-03-17 23:05
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
以下是引用sdta在2023-3-17 23:05:39的发言:

CLEAR
url = 'https://match.lottery.'
oHttp = NewObject('Msxml2.XMLHTTP')
oHttp.open('GET', url, .f.)
oHttp.send()
cc = oHttp.responseText
cc = STREXTRACT(cc, '<tr>', '</tr>', 50)
= ALINES(la, cc, 5)
? STREXTRACT(la[1], '>', '<')
? IIF("title="$la[3], STREXTRACT(la[3],">","<",2), STREXTRACT(la[3],">","<",1))
? IIF("title="$la[5], STREXTRACT(la[5],">","<",2), STREXTRACT(la[5],">","<",1))

多谢版主,你最理解我了
你能不能解释一下,这个程序,我也好学习一下,之后我还得去抓其他内容,不能每次都来求助吧!
2023-03-18 09:50
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:1 
每个网站文本在网页中显示格式各不相同,提取方法也不同。因此关键问题在于对VFP基础知识掌握的程度,只有有了扎实的基本功,才能处理好自己的日常需求。

坚守VFP最后的阵地
2023-03-18 09:57
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
以下是引用sdta在2023-3-18 09:57:32的发言:

每个网站文本在网页中显示格式各不相同,提取方法也不同。因此关键问题在于对VFP基础知识掌握的程度,只有有了扎实的基本功,才能处理好自己的日常需求。

网站我是懂的,麻烦你解释一下吧!谢谢!大概解释一下,我就应该明白了
oHttp.send()
cc = oHttp.responseText
cc = STREXTRACT(cc, '<tr>', '</tr>', 50)
= ALINES(la, cc, 5)
? STREXTRACT(la[1], '>', '<')
? IIF("title="$la[3], STREXTRACT(la[3],">","<",2), STREXTRACT(la[3],">","<",1))
? IIF("title="$la[5], STREXTRACT(la[5],">","<",2), STREXTRACT(la[5],">","<",1))
大概执行过程,是不是把网站源码读取到内存,然后再去判断取值,我自我认为是这样的,不知道对不对

[此贴子已经被作者于2023-3-18 10:38编辑过]

2023-03-18 10:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:1 
参照VFP帮助把代码中的函数研究一下。

坚守VFP最后的阵地
2023-03-18 10:45
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
以下是引用sdta在2023-3-18 10:45:55的发言:

参照VFP帮助把代码中的函数研究一下。

好的,谢谢!
2023-03-18 10:48
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
大神版主,能不能帮我,改一下程序,现在换成这个网址https://zst.
我研究了一下,没弄明白
CLEAR
url = 'https://match.lottery.'
oHttp = NewObject('Msxml2.XMLHTTP')
oHttp.open('GET', url, .f.)
oHttp.send()
cc = oHttp.responseText
cc = STREXTRACT(cc, '<tr>', '</tr>', 50)
到了这里,我就没弄懂了,不知道怎么取出来了,研究了半天也没弄明白!
= ALINES(la, cc, 5)
? STREXTRACT(la[1], '>', '<')
? IIF("title="$la[3], STREXTRACT(la[3],">","<",2), STREXTRACT(la[3],">","<",1))
? IIF("title="$la[5], STREXTRACT(la[5],">","<",2), STREXTRACT(la[5],">","<",1))
麻烦帮我改一下,我只要    期号  试机号  号码
新浪更新了,没得试机号了,无奈我也只有换网站,感谢!
2023-03-31 22:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511582-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.083132 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved