标题:老师好,又来请教了,这个网页的采集入口如何找,谢谢
只看楼主
jinanshui
Rank: 2
等 级:论坛游民
帖 子:274
专家分:64
注 册:2009-10-6
得分:0 
以下是引用sdta在2021-5-31 23:26:12的发言:

顺序调整下即可
lyText = STREXTRACT(lcText,',"lotteryDrawNum":"','","lotteryDrawResult":"')
lcText = STREXTRACT(lcText,'lotteryUnsortDrawresult":"','","matchList')
?? lcText ,lyText



谢谢老师,最难的遍历来了,怎样一期一组,全部找出来呢?尝试了一晚上,也没找到,学不会,再次请教老师.

[此贴子已经被作者于2021-6-1 07:02编辑过]

2021-06-01 06:59
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
下载数据用时比较长(8秒左右),解析数据应该能控制在1秒内

坚守VFP最后的阵地
2021-06-01 07:19
jinanshui
Rank: 2
等 级:论坛游民
帖 子:274
专家分:64
注 册:2009-10-6
得分:0 
以下是引用sdta在2021-6-1 07:19:55的发言:

下载数据用时比较长(8秒左右),解析数据应该能控制在1秒内

老师,您是大神级高手,我是一个小菜鸟
2021-06-01 07:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用jinanshui在2021-6-1 06:59:50的发言:




谢谢老师,最难的遍历来了,怎样一期一组,全部找出来呢?尝试了一晚上,也没找到,学不会,再次请教老师.

试试
FOR lnj = 1 TO OCCURS("lotteryDrawNum", lcText)
    lyText = STREXTRACT(lcText,',"lotteryDrawNum":"','","lotteryDrawResult":"', lnj)
    lcText = STREXTRACT(lcText,'lotteryUnsortDrawresult":"','","matchList', lnj)
    ? lcText ,lyText
ENDFOR

坚守VFP最后的阵地
2021-06-01 08:06
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
FOR lnj = 1 TO OCCURS("lotteryDrawNum", lcText)
    lyText = STREXTRACT(lcText,',"lotteryDrawNum":"','","lotteryDrawResult":"', lnj)
    lcText = STREXTRACT(lcText,'lotteryUnsortDrawresult":"','","matchList', lnj)
    ? lcText ,lyText
ENDFOR

改为

FOR lnj = 1 TO OCCURS("lotteryDrawNum", lcText)
    lyText = STREXTRACT(lcText,',"lotteryDrawNum":"','","lotteryDrawResult":"', lnj)
    lxText = STREXTRACT(lcText,'lotteryUnsortDrawresult":"','","matchList', lnj) && lcText 为下载的数据
    ? lxText ,lyText
ENDFOR

坚守VFP最后的阵地
2021-06-01 09:49
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
从11006期开始才有出球顺序的数据,也就是lxText提取的数据

坚守VFP最后的阵地
2021-06-01 10:00
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用sdta在2021-6-1 07:19:55的发言:

下载数据用时比较长(8秒左右),解析数据应该能控制在1秒内

下载的数据有5M多,记录也2000多条,用STREXTRACT()要秒杀有难度。
试试用JavaScript应该能秒杀

程序代码:
CREATE CURSOR tt (DrawNum C(5), DrawResult C(20))
cUrl = "https://webapi./gateway/lottery/getHistoryPageListV1.qry?gameNo=85&provinceId=0&pageSize=0"
oHttp = CREATEOBJECT("MSXML2.XMLHTTP")
oHttp.Open("GET", cUrl, .F.)
oHttp.Send()
jsCode = 'var data='+oHttp.responseText+';var list=data["value"]["list"];'
oSC = CREATEOBJECT("ScriptControl")
oSC.Language = "JavaScript"
oSC.AddCode(jsCode)
FOR i=0 TO oSC.eval('list.length')-1
    INSERT INTO tt VALUES (oSC.eval('list['+TRANSFORM(i)+']["lotteryDrawNum"]'),;
                           oSC.eval('list['+TRANSFORM(i)+']["lotteryUnsortDrawresult"]'))
ENDFOR
SELECT * FROM tt
RETURN
2021-06-01 14:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
JS部分这样写好读一点
程序代码:
jsCode = 'var data=' + oHttp.responseText + ';' +;
         'var list=data["value"]["list"];' +;
         'function getList(n,name){return list[n][name];}'
oSC = CREATEOBJECT("ScriptControl")
oSC.Language = "JavaScript"
oSC.AddCode(jsCode)
FOR i=0 TO oSC.eval('list.length')-1
    INSERT INTO tt VALUES (oSC.run("getList",i,"lotteryDrawNum"),;
                           oSC.run("getList",i,"lotteryUnsortDrawresult"))
ENDFOR
2021-06-01 15:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用吹水佬在2021-6-1 15:30:05的发言:

JS部分这样写好读一点
jsCode = 'var data=' + oHttp.responseText + ';' +;
         'var list=data["value"]["list"];' +;
         'function getList(n,name){return list[n][name];}'
oSC = CREATEOBJECT("ScriptControl")
oSC.Language = "JavaScript"
oSC.AddCode(jsCode)
FOR i=0 TO oSC.eval('list.length')-1
    INSERT INTO tt VALUES (oSC.run("getList",i,"lotteryDrawNum"),;
                           oSC.run("getList",i,"lotteryUnsortDrawresult"))
ENDFOR

看惯VFP的代码,再看别的代码很不习惯!

坚守VFP最后的阵地
2021-06-01 16:13
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用sdta在2021-6-1 16:13:03的发言:


看惯VFP的代码,再看别的代码很不习惯!

windows环境避免不了,很多时要通过COM服务应用
面对WEB方面的编程,JS、HTML、CSS才是主体
就好象VFP面对EXCEL,不用VBA怕好难成事
2021-06-01 17:23



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




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

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