以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]关于抓取网页~~~~~~~~(一直跟帖讨论,希望有此需要的朋友关注!)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83940)

--  作者:lhpc120
--  发布时间:2016/4/19 23:47:00
--  [讨论]关于抓取网页~~~~~~~~(一直跟帖讨论,希望有此需要的朋友关注!)
首先提供两个页面地址:
地址一:(淘宝店铺所有宝贝的页面)
https://isuddenlysneezed.taobao.com/search.htm?spm=2013.1.0.0.mJJPKY&search=y

地址二:(淘宝宝贝详细页的)
https://item.taobao.com/item.htm?id=527608686691

目的:首先获取地址一,淘宝宝贝的商品列表页内容!

代码如下:

Dim web As new windows.forms.webbrowser
web.Navigate("https://isuddenlysneezed.taobao.com/search.htm?spm=2013.1.0.0.mJJPKY&search=y")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
\'output.show(web.document.body.innerhtml)

For Each dl As object In web.Document.GetElementsByTagName("dl")
    If dl.GetAttribute("ClassName") Like "item*"
        output.show(dl.outerhtml)
    End If
Next

获取的内容见二楼!


[此贴子已经被作者于2016/4/19 23:48:00编辑过]

--  作者:lhpc120
--  发布时间:2016/4/19 23:54:00
--  
<dt class="photo">                                <a class="J_TGoldData" href="//item.taobao.com/item.htm?id=527608686691"
<img alt="ISS 烫金logo小羊皮鞋垫/增高鞋垫/后跟贴" src="//img.alicdn.com/bao/uploaded/i3/TB1_pdsLVXXXXcnXpXXXXXXXXXX_!!0-item_pic.jpg_240x240.jpg">                

因为单帖的字符限制,截取重要内容:

内容页地址:href="//item.taobao.com/item.htm?id=527608686691"
标题:alt="ISS 烫金logo小羊皮鞋垫/增高鞋垫/后跟贴"
图片地址:src="//img.alicdn.com/bao/uploaded/i3/TB1_pdsLVXXXXcnXpXXXXXXXXXX_!!0-item_pic.jpg_240x240.jpg

                                                    

--  作者:大红袍
--  发布时间:2016/4/20 9:11:00
--  

 

[此贴子已经被作者于2016/4/20 9:16:47编辑过]

--  作者:大红袍
--  发布时间:2016/4/20 9:17:00
--  

Dim web As new windows.forms.webbrowser
web.Navigate("https://isuddenlysneezed.taobao.com/search.htm?spm=2013.1.0.0.mJJPKY&search=y")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
\'output.show(web.document.body.innerhtml)


For Each dl As object In web.Document.GetElementsByTagName("dl")
    If dl.GetAttribute("ClassName") Like "item*"
        Dim a = dl.GetElementsByTagName("a")
        Dim img = dl.GetElementsByTagName("img")
       
        output.show(a(0).GetAttribute("href"))
        output.show(img(0).GetAttribute("alt"))
        output.show(img(0).GetAttribute("href"))
    End If
Next


--  作者:lhpc120
--  发布时间:2016/4/20 15:22:00
--  
按照楼上的做法,执行以后,没有任何内容啊!
--  作者:大红袍
--  发布时间:2016/4/20 15:25:00
--  

Dim web As new windows.forms.webbrowser
web.Navigate("https://isuddenlysneezed.taobao.com/search.htm?spm=2013.1.0.0.mJJPKY&search=y")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementsByTagName("dl").count > 0
    Application.DoEvents
Loop

For Each dl As object In web.Document.GetElementsByTagName("dl")
    If dl.GetAttribute("ClassName") Like "item*"
        Dim a = dl.GetElementsByTagName("a")
        Dim img = dl.GetElementsByTagName("img")
       
        output.show(a(0).GetAttribute("href"))
        output.show(img(0).GetAttribute("alt"))
        output.show(img(0).GetAttribute("href"))
    End If
Next


--  作者:lhpc120
--  发布时间:2016/4/20 15:30:00
--  
授人与鱼不如授人与渔!
希望版主将上述代码备注一下意思!后来人都可以搜索到,并指导一下这类的函数资料哪里可以学习!

--  作者:大红袍
--  发布时间:2016/4/20 15:36:00
--  

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.webbrowser.aspx

 


--  作者:lhpc120
--  发布时间:2016/4/20 15:57:00
--  
请问怎么分析页面的页数呢,我提供的列表页有2页内容,好像只采集了个,一个页是24个!
怎么连第二页一起采集啊!

--  作者:大红袍
--  发布时间:2016/4/20 16:03:00
--  
https://isuddenlysneezed.taobao.com/search.htm?spm=2013.1.0.0.mJJPKY&search=y&pageNo=2