| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8410 人关注过本帖
标题:求助:这类不能从“查看源码”中直接获取列表值的网页数据如何提取
取消只看楼主 加入收藏
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
结帖率:80%
收藏
已结贴  问题点数:8 回复次数:10 
求助:这类不能从“查看源码”中直接获取列表值的网页数据如何提取
请教高手,这类不能从“查看源码”中直接获取列表值的网页数据如何提取。地址如下:
[http://jg.]
最好是用vb或者vfp实现

[此贴子已经被作者于2016-7-26 22:54编辑过]

搜索更多相关主题的帖子: 网页 如何 最好 
2016-07-26 22:51
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
回复 6楼 aaaaaa
谢谢!高手!请教如果要继续获取该网址中“营业部”列表数据又该如何获取呢,再次感谢!
2016-07-31 11:20
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
回复 15楼 aaaaaa
谢谢6a,前些天外出未上网,对于您的解答很是感谢,同时为未能及时回复深表歉意!同时还请6a版主再次出手,解决我所提的问题,谢谢!!
2016-08-01 14:11
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
回复 17楼 aaaaaa
是的,我也找到这个网址,但是没法进一步解析表格中数据
2016-08-01 18:32
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
回复 20楼 aaaaaa
首先感谢您的细心解答。我不我的学习情况给高手们汇报一下:
1、我只是了解一些vfp和vbs的数据处理知识,仅限于已有数据处理,但对web方面的知识了解甚少
2、以前获取网页数据都是通过提取网页源代码然后解析获得数据,但对于此类在源代码中不能直接取得数据的网页就没办法了
3、至于找到那个地址,我是用fiddler工具找到的,而且在里面也看到了直观需要的数据,但是就是不知道如何通过vfp语句截取过来
4、对于版主给出的第一个地址【http://jg.】的数据获取方法,我也认真学习了,也想依葫芦画瓢取得“营业部地址”数据【http://jg.】,但是没有成功,查看网页源代码发现该网页表格数据的引用和纯文本数据的引用是不一样的,看明白了前者是通个“th”,“td”分隔引用,但后者(表格)的引用方式就没有弄明白,无从下手,也百度了很多,业一筹莫展,所以只能向高手求教。

知道这种求人的方式很不妥,业订了一些html,java等相关的书学习,但我知道这是需要一个过程的,而目前的难题只能求助高手了
我的目标是:取得“营业部地址”的数据源码,同时知道换页的方式就行,在vfp里面生成DBF文件我没问题!
请高手再次出手,谢谢
   

[此贴子已经被作者于2016-8-2 10:27编辑过]

2016-08-01 20:25
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
回复 20楼 aaaaaa
还得请教高手!
昨晚鼓捣到了凌晨1点,本来已经有了结果,而且都生成了表,但是弄着弄着突然不行了!贴上代码,请高手指教
Clear
CREATE CURSOR yyb_xh (xh c(5),yybmc C(80),bgdz C(80),fzr C(8),zcdz c(80),phone1 c(15),e_mail c(20),phone2 c(15))
oIE = Createobject("internetexplorer.application")
oIE.Visible = .T.
cURL = "http://jg.
oIE.Navigate(cURL)
tStartSecond = Seconds()
Do While oIE.Busy = .T. Or oIE.ReadyState#4
    If Seconds() - tStartSecond > 10
        Exit
    Endif
    Inkey(0.5)
Enddo

#Define CRLF Chr(13) + Chr(10)

O1 = oIE.Document.GetElementsByTagName('td')
*?O1.Length
*O2 = oIE.Document.GetElementsByTagName("th")
*cStr = ""
i=21      &&从此处开始取数据
For I1 =1 To 15           &&STEP 8  &&O1.Length - 1  && »ñ衸ÃÔaËØ (cElement) μÄÿ¸öÄúèY
   
    z1=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I).InnerText, "")
    z2=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I+1).InnerText, "")
    z3=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I+2).InnerText, "")
    z4=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I+3).InnerText, "")
    z5=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I+4).InnerText, "")
    z6=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I+5).InnerText, "")
    z7=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I+6).InnerText, "")
   * z8=Iif(Type("O1.Item(I).InnerText") # "U", O1.Item(I+7).InnerText, "")
    i=i+8       &&&每行是8列数据
    INSERT INTO yyb_xh VALUES (z1,z2,z3,z4,z5,z6,z7," ")
   
Endfor
*=Strtofile(cStr, "AAA.txt")
brow
*oIE.Quit()
*Modify File aaa.txt

我测试了,问题原因好像是取不到('td')数据,会不是被网站屏蔽了?

另外就是翻页问题还请一并指教,谢谢!

[此贴子已经被作者于2016-8-2 11:04编辑过]

2016-08-02 11:00
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
完全通过!学习了!寥寥几句,看似简单,但没有真功夫肯定做不出来,“llection=oIE.Document.getElementsByTagName("table").[4]”这一代码就是关键受教了,得好好学习,方能天天向上!!现在就是翻页问题了,通过fiddler能看到这个网页的一些信息,但是就不知道如何通过这些信息来直接转换网页地址。
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-08-02 14:43
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
愁死了,翻阅了很多网站、论坛,对于翻页的方法有很多,比如在网址里面直接找到页码的,有通过“.Click 模拟点击 [下一页] 的按钮”的,有“oIE.Navigate("javascript:showNextPage()")模拟点击下一页”的,但对该网页都行不通,就是没有找到这种类型网页的翻页方法,还得等待高手出现呀!!
2016-08-03 15:40
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
终于成功!谢谢6a 谢谢各位
s1="filter_LIKES_msdi_name=&filter_LIKES_msdi_reg_address=&filter_EQS_aoi_id=798&page.searchFileName=publicity&page.sqlKey=PAG_SALES_DEPT;
&page.sqlCKey=SIZE_SALES_DEPT&_search=false&page.pageSize=15&page.pageNo=2&page.orderBy=MATO_UPDATE_DATE&page.order=desc"
oXml = NewObject("Microsoft.XmlHttp")
oXml.open("post", "http://jg., .F.)
oXml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
oXml.send( s1 )
wj_1=oXml.responseText
=Strtofile(wj_1, "yyb.txt")
Modify File yyb.txt
2016-08-03 21:45
lxlsf
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2014-10-10
收藏
得分:0 
楼上谬赞,我这是在梅子论坛学到的三脚猫功夫。不过通过这次折腾,确实学到不少东西!最起码知道了heml、css、js、dom是什么鬼
2016-08-04 12:15
快速回复:求助:这类不能从“查看源码”中直接获取列表值的网页数据如何提取
数据加载中...
 
   



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

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