注册 登录
编程论坛 VFP论坛

老师好,又来请教了,这个网页的采集入口如何找,谢谢

jinanshui 发布于 2021-05-31 10:36, 7793 次点击
老师好,又来请教了,这个网页的数据采集入口如何找,谢谢,我用开发者工具找了很长时间,没找到
https://www.lottery.
只有本站会员才能查看附件,请 登录

56 回复
#52
吹水佬2021-06-05 15:35
以下是引用sdta在2021-6-5 11:30:15的发言:

如果当属性的顺序不一致时,程序会发生错误
{"ab":"12","cd","34","ef:","56"}
{"ef":"21","cd","43","ab:","65"}

看来不只是属性的顺序问题,属性的名称、name与value的分隔符也有问题,谈不上数据结构。
只能当文本处理,只抽(逐个来)


#53
jinanshui2021-06-10 02:23
这个数据类型为什么不对呢?
CREATE CURSOR 大乐透 (红1 C(2), 红2 C(2), 红3 C(2),红4 C(2),红5 C(2),兰1 C(2),兰2 C(2),期号 C(5))
cUrl = "https://webapi.
oHttp = CREATEOBJECT("MSXML2.XMLHTTP")
oHttp.Open("GET", cUrl, .F.)
oHttp.Send()

t1 = SECONDS()

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
    lyText = oSC.run("getList",i,"lotteryDrawNum")
    lztext = oSC.run("getList",i,"lotteryEquipmentCount")
    lmText = oSC.run("getList",i,"lotteryUnsortDrawresult")
    h1 = Substr(lmText ,1,2)
    h2 = Substr(lmText ,4,2)
    h3 = Substr(lmText ,7,2)
    h4 = Substr(lmText ,10,2)
    h5 = Substr(lmText ,13,2)
    l1 = Substr(lmText ,16,2)
    l2 = Substr(lmText ,19,2)
    lztext = ALLTRIM(lztext)
    INSERT INTO 大乐透 VALUES (h1,h2,h3,h4,h5,l1,l2,lyText)
ENDFOR
? SECONDS() - t1 && 1.6秒
#54
吹水佬2021-06-10 07:34
回复 53楼 jinanshui
"lotteryEquipmentCount":2,
lotteryEquipmentCount是数值型,不用做数据类型转换,定义“期号 N(5)”就可以
#55
sdta2021-06-10 07:43
lotteryEquipmentCount 的返回值为数值型,所以 lztext = ALLTRIM(lztext) 中不能使用ALLTRIM()
在JSON格式文本中, "lotteryEquipmentCount":2,此时的2表示数值型数据;
如果:"lotteryEquipmentCount":"2",此时的2表示字符型数据;
解析JSON格式文本,最基础的知识必须要掌握。
#56
jinanshui2021-06-10 08:35
好的,谢谢两位版主
#57
sostemp2022-07-03 22:24
好贴,学习
12