| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4272 人关注过本帖, 3 人收藏
标题:请高手指点一下 如何获取这个网页的数据
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用sdta在2021-9-5 19:53:27的发言:

我的电脑上下载第17页失败,不知是什么原因

试试增加延时
INKEY(2)  && 要延时
2021-09-05 21:11
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用吹水佬在2021-9-5 21:11:26的发言:


试试增加延时
INKEY(2)  && 要延时

多谢吹版,OK

坚守VFP最后的阵地
2021-09-05 21:38
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:333
专家分:804
注 册:2021-1-9
收藏
得分:0 
谢谢 !!
2021-09-06 16:31
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:333
专家分:804
注 册:2021-1-9
收藏
得分:0 
http://www.chinatax.
能不能帮着分析下  这个页面上的数据如何获取
具体内容试了好几种办法都没有  
2021-09-06 16:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 34楼 nbwww
IE控件可以打开吧,速度可能慢点,但使用简单。
2021-09-06 18:08
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用nbwww在2021-9-6 16:33:06的发言:

http://www.chinatax.
能不能帮着分析下  这个页面上的数据如何获取
具体内容试了好几种办法都没有  

是不是要这些数据
图片附件: 游客没有浏览图片的权限,请 登录注册
2021-09-06 23:07
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:333
专家分:804
注 册:2021-1-9
收藏
得分:0 
oie = CREATEOBJECT("internetexplorer.application")
lurl="http://www.chinatax.
oie.Navigate(lurl)
DO WHILE oie.Busy OR oie.ReadyState!=4
    INKEY(2)
    ?? " 请稍候......",TIME()+0h0D
ENDDO
bError = .F.
TRY
    lctext = oie.document.body.innerHTML
CATCH
    bError = .T.
    MESSAGEBOX("网页打开错误",0+16,"出错了")
ENDTRY

?lctext
 _CLIPTEXT =lctext

[此贴子已经被作者于2021-9-7 17:00编辑过]

2021-09-07 16:38
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:333
专家分:804
注 册:2021-1-9
收藏
得分:0 
以下是引用吹水佬在2021-9-6 23:07:56的发言:


是不是要这些数据

是这些数据   第一页的搞下来了   第二页没有链接   直接运行javascript吗?  
2021-09-07 17:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏(1)
得分:0 
回复 38楼 nbwww
获取数据是用POST请求
请求地址:http://www.chinatax.
Send()数据格式:timeOption=0&page=页号&pageSize=每页行数&keyPlace=1&sort=dateDesc&qt=*
得到的数据是一个JS对象类型:{name1:value1, name2:value2, name3:[{},{},{}...]}
还发现标题长度超过DBF字符型长度限制,改用备注类型。
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
CREATE CURSOR 税收政策库 (title M, DOCNOVAL C(160), url C(160))
cUrl = "http://www.chinatax./api/query?siteCode=bm29000fgk&tab=all&key=9A9C42392D397C5CA6C1BF07E2E0AA6F"
wh = CREATEOBJECT("WinHttp.WinHttpRequest.5.1") 
sc = CREATEOBJECT("ScriptControl")
sc.Language = "JavaScript"
? "每页100行"+0h0D0A
UrlToTable(cUrl)
SELECT * FROM 税收政策库
CLEAR ALL 
RETURN

FUNCTION UrlToTable(cUrl)
    LOCAL nPage,cData,jsCode,i,err
    nPage = 1
    DO WHILE .T.
        cData = UrlToData(cUrl, nPage)
        cData = LOWER(cData)    && VFP解释时只认小写???
        TEXT TO jsCode TEXTMERGE NOSHOW PRETEXT 15
            var data=<<cData>>
        ENDTEXT
        err = .F.
        TRY 
            sc.AddCode(jsCode)
        CATCH
            err = .T.
        ENDTRY
        IF err
            ? "获取数据失败"
            EXIT 
        ENDIF
        IF sc.CodeObject.data.resultList.length == 0  && 没有数据
            EXIT 
        ENDIF
        FOR EACH oList IN sc.CodeObject.data.resultList
            INSERT INTO 税收政策库 VALUES (oList.title, oList.customHs.DOCNOVAL, oList.url)
        ENDFOR
        ?? "第 "+TRANSFORM(nPage)+" 页" + 0h0D
        nPage = nPage + 1
    ENDDO
ENDFUNC

FUNCTION UrlToData(cUrl, nPage)
    wh.Open("POST", cUrl, 0)
    wh.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
    wh.Send("timeOption=0&page="+TRANSFORM(nPage)+"&pageSize=100&keyPlace=1&sort=dateDesc&qt=*")
    RETURN wh.ResponseText
ENDFUNC


[此贴子已经被作者于2021-9-7 17:20编辑过]

2021-09-07 17:17
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:333
专家分:804
注 册:2021-1-9
收藏
得分:0 
回复 39楼 吹水佬
谢谢     我消化下
2021-09-07 17:21
快速回复:请高手指点一下 如何获取这个网页的数据
数据加载中...
 
   



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

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