Foxtable(狐表)用户栏目专家坐堂 → [求助]网页如何获取指定内容【已解决】


  共有2689人关注过本帖树形打印复制链接

主题:[求助]网页如何获取指定内容【已解决】

帅哥哟,离线,有人找我吗?
188802386
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
[求助]网页如何获取指定内容【已解决】  发帖心情 Post By:2016/11/2 16:21:00 [只看该作者]

代码如下:
Dim page As Integer
For page = 1 To 2
Dim txb1 As String = "http://weidian.eallcn.com/232621561/mmfy/mmfylist/curpage=" & page
'output.show("第" & page & "页主页面网址:" & txb1)
Dim web1 As new windows.forms.webbrowser
web1.ScriptErrorsSuppressed = True
web1.Navigate(txb1)
Do Until web1.ReadyState = 4
    Application.DoEvents
Loop
Dim idx1 = 0
For Each dl As object In web1.Document.GetElementsByTagName("a")
    Dim url =  dl.GetAttribute("href")
    If url > "" Then
        Dim c As String = "FYID" & idx1 - 3
        If Tables("表A").Cols.Contains(c) Then
        End If
        idx1 += 1
output.show("第" & idx1 & "页面:" & url)
    End If
Next
Next

获取数据如下:
第1页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2325283
第2页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2325283
第3页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2325283
第4页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3378009
第5页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3378009
第6页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3378009
第7页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3657566
第8页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3657566
第9页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3657566
第10页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3574733
第11页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3574733
第12页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3574733
第13页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3640350
第14页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3640350
第15页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3640350
第16页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3167062
第17页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3167062
第18页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3167062
第19页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3711744
第20页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3711744
第21页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3711744
第22页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737907
第23页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737907
第24页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737907
第25页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3726841
第26页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3726841
第27页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3726841
第28页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737904
第29页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737904
第30页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737904
第31页面:http://weidian.eallcn.com/232621561
第32页面:tel:023-68295577
第33页面:http://s.eallcn.com/chat?user_id=EmLL250D&user_name=EmLL250D&user_photo=&user_tel=
第34页面:http://weidian.eallcn.com/232621561/wt
第35页面:http://weidian.eallcn.com/232621561/about
第1页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3311151
第2页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3311151
第3页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3311151
第4页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737888
第5页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737888
第6页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737888
第7页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3590719
第8页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3590719
第9页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3590719
第10页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737881
第11页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737881
第12页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737881
第13页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737853
第14页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737853
第15页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737853
第16页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2465561
第17页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2465561
第18页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2465561
第19页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737050
第20页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737050
第21页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737050
第22页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737682
第23页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737682
第24页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3737682
第25页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2598771
第26页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2598771
第27页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=2598771
第28页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3478495
第29页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3478495
第30页面:http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=3478495
第31页面:http://weidian.eallcn.com/232621561
第32页面:tel:023-68295577
第33页面:http://s.eallcn.com/chat?user_id=GjSRl2ja&user_name=GjSRl2ja&user_photo=&user_tel=
第34页面:http://weidian.eallcn.com/232621561/wt
第35页面:http://weidian.eallcn.com/232621561/about

问:
请问如何自获取网址仅包含有http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=的网址,并且网址不重复(每次有三个相同)
[此贴子已经被作者于2016/11/3 11:40:59编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110564 积分:562710 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/2 16:48:00 [只看该作者]

Dim page As Integer
For page = 1 To 2
    Dim txb1 As String = "http://weidian.eallcn.com/232621561/mmfy/mmfylist/curpage=" & page
    'output.show("第" & page & "页主页面网址:" & txb1)
    Dim web1 As new windows.forms.webbrowser
    web1.ScriptErrorsSuppressed = True
    web1.Navigate(txb1)
    Do Until web1.ReadyState = 4
        Application.DoEvents
    Loop
    Dim idx1 = 0
    Dim u2 As String
    For Each dl As object In web1.Document.GetElementsByTagName("a")
        Dim url As String =  dl.GetAttribute("href")
        If url > "" And url.Contains("http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=") And url <> u2 Then
            idx1 += 1
            output.show("第" & idx1 & "页面:" & url)
            u2 = url
        End If
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/11/2 16:53:00 [只看该作者]

谢谢老师

 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/11/2 20:23:00 [只看该作者]

再次提问
就是如果page =1 to 2    换成to200或2000岂不内存飙升,在论坛看到如何运行完一个页面释放内存,但是我不会,麻烦老师改改看如何能释放内存

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110564 积分:562710 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/2 21:08:00 [只看该作者]

时至今日,不会使用搜索的同学都欧特了

Dim page As Integer
For page = 1 To 2
    Dim txb1 As String = "http://weidian.eallcn.com/232621561/mmfy/mmfylist/curpage=" & page
    'output.show("第" & page & "页主页面网址:" & txb1)
    Dim web1 As new windows.forms.webbrowser
    web1.ScriptErrorsSuppressed = True
    web1.Navigate(txb1)
    Do Until web1.ReadyState = 4
        Application.DoEvents
    Loop
    Dim idx1 = 0
    Dim u2 As String
    For Each dl As object In web1.Document.GetElementsByTagName("a")
        Dim url As String =  dl.GetAttribute("href")
        If url > "" And url.Contains("http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=") And url <> u2 Then
            idx1 += 1
            output.show("第" & idx1 & "页面:" & url)
            u2 = url
        End If
    Next
web.Dispose()
GC.Collect()
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点青
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/3 9:40:00 [只看该作者]

尽量不要重复new对象

 

Dim page As Integer
Dim web1 As new windows.forms.webbrowser
web1.ScriptErrorsSuppressed = True
For page = 1 To 2
    Dim txb1 As String = "http://weidian.eallcn.com/232621561/mmfy/mmfylist/curpage=" & page
    'output.show("第" & page & "页主页面网址:" & txb1)
    web1.Navigate(txb1)
    Do Until web1.ReadyState = 4
        Application.DoEvents
    Loop
    Dim idx1 = 0
    Dim u2 As String
    For Each dl As object In web1.Document.GetElementsByTagName("a")
        Dim url As String =  dl.GetAttribute("href")
        If url > "" And url.Contains("http://weidian.eallcn.com/232621561/mmfy/mmfydetail/id=") And url <> u2 Then
            idx1 += 1
            output.show("第" & idx1 & "页面:" & url)
            u2 = url
        End If
    Next
Next
web.Dispose()
GC.Collect()

 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/11/3 11:41:00 [只看该作者]

谢谢,采用这种做法后内存上不去了,CPU占用有点,不过至少不会瘫痪

 回到顶部
帅哥哟,离线,有人找我吗?
有点青
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/3 12:30:00 [只看该作者]

以下是引用188802386在2016/11/3 11:41:00的发言:
谢谢,采用这种做法后内存上不去了,CPU占用有点,不过至少不会瘫痪

 

执行这种,是比较占用cpu的

 

    Do Until web1.ReadyState = 4

        Application.DoEvents
    Loop
 
 

 回到顶部