|
5学分
请各位老师帮帮忙。下面代码运行时老出错,不知道什么原因?- Sub getTBdata()
- Dim StrHTML$, URL$, lStart&, lEnd&, dua$, Ign$, i, TarHTML$
-
- URL = "http://detail.tmall.com/item.htm?id=6944223048&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=" '网页地址,复制q=后面的uncode码来替换关键词。其他参数,看文章
-
- '====================请求模块====================
- With CreateObject("Msxml2.XMLHTTP") '调用了Msxml2.XMLHTTP
- .Open "GET", URL, False '获取网页信息的方法有GET和POST,这里要用GET
- .setRequestHeader "X-UA-Compatible", "IE=edge" '淘宝的请求http头,固定写法
- .send '发送请求
- StrHTML = .responseText '返回请求
- End With
- lStart = InStr(1, StrHTML, "月销量") + 4 '起始位置
- lEnd = Len(StrHTML) '源码总长度
- StrHTML = Mid(StrHTML, lStart, lEnd - lStart) '取出目标部分的源码
-
- For i = 2 To 3 '第一页有1-44个宝贝,从2开始循环
-
- Cells(i, 1) = i - 1 '在表的第1列,第i行写入排名
-
- lStart = InStr(1, StrHTML, "href=") + 6
- lEnd = InStr(17, StrHTML, "target=")
- TarHTML = Mid(StrHTML, lStart, lEnd - lStart - 2)
- Cells(i, 2) = TarHTML '取出宝贝链接,写入表的第2列,第i行
-
- lStart = InStr(1, StrHTML, "title=") + 7
- lEnd = InStr(17, StrHTML, ">")
- TarHTML = Mid(StrHTML, lStart, lEnd - lStart - 1)
- Cells(i, 3) = TarHTML '取出宝贝标题,写入表的第3列,第i行
-
- lStart = InStr(1, StrHTML, "col price") + 12
-
- lEnd = InStr(1, StrHTML, "<em></em></div>")
- TarHTML = Mid(StrHTML, lStart, lEnd - lStart)
- Cells(i, 4) = TarHTML '取出宝贝价格,写入表的第4列,第i行
-
- lStart = InStr(1, StrHTML, "col dealing") + 26
- lEnd = InStr(1, StrHTML, "人付款")
- TarHTML = Mid(StrHTML, lStart, lEnd - lStart)
- Cells(i, 5) = TarHTML '取出宝贝付款人数,写入表的第5列,第i行
-
- lStart = lEnd + 4
- lEnd = InStr(1, StrHTML, "人收货")
- TarHTML = Mid(StrHTML, lStart, lEnd - lStart)
- Cells(i, 6) = TarHTML '取出宝贝收货人数,写入表的第6列,第i行
-
- lStart = InStr(1, StrHTML, "feature-dsr-num") + 17
- TarHTML = Mid(StrHTML, lStart, 4)
- Cells(i, 7) = TarHTML '取出如实描述分,写入表的第7列,第i行
-
- '=================删掉已取出信息宝贝的信息源码================
- lEnd = Len(StrHTML)
- StrHTML = Mid(StrHTML, lStart, lEnd - lStart)
- lStart = InStr(1, StrHTML, "<h3 class") + 4
- lEnd = Len(StrHTML)
- StrHTML = Mid(StrHTML, lStart, lEnd - lStart)
- '=============================================================
- Next i '下一个宝贝
- End Sub
复制代码 |
|