用EXCEL批量获取网页标题的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用EXCEL批量获取网页标题的方法相关的知识,希望对你有一定的参考价值。

这段时间准备做淘宝,但不知道卖什么产品,因此想从一些B2B 网站上扒拉一些产品词下来挨个研究,但一个一个的打开网页查看产品太慢太费事,但想到这些产品词都存在于网页标题上,因此想到了用excel来批量获取网页的标题。经过一番查找,在网上找到了两种方法(其实是两组代码)。


打开excel找到开发者工具,点击"Visual Basic"

技术分享

在下图所示位置右键点击添加模块

技术分享

填入如下代码:

Function Title(url As String) As String

    With CreateObject("Microsoft.XMLHTTP")

       ‘防止输入的url不管带不带http都可以转换带http的

       url = "http://" & Replace(url, "http://", "")

       .Open "GET", url, False

       .send

       url = .responsetext

         ‘如果源代码中含有charset=gb或者chartset="gb ,hao123的源代码是charset="gbk"那么进行2进制代码responsebody转换为unicode

       If InStr(url, "charset=""gb") Or InStr(url, "charset=gb") Then url = StrConv(.responseBody, vbUnicode)

         ‘不管charact是不是gb的都okay 可以专心进行split(url)字符串了,以上适用任何网页

         Title = Split(Split(url, "<title>")(1), "</title>")(0)

    End With

    End Function


或者如下代码,根据网页语言不同而不同

  

Function Title(ByVal url As String) As String

On Error Resume Next

url = "http://" & Replace(url, "http://", "")

With CreateObject("Msxml2.XMLHTTP")

.Open "get", url, False

.send

Title = Split(Split(.responsetext, "<title>")(1), "</title>")(0)

End With



然后回到excel,把要获取的标题网页URL填进去,在标题输出行填入"=title(A1)",剩下的直接往下拖就行了。比如获取这些网页的标题:

http://www.zhenhuajiao.com/archives/483

http://www.zhenhuajiao.com/archives/482

http://www.zhenhuajiao.com/archives/481

http://www.zhenhuajiao.com/archives/480

http://www.zhenhuajiao.com/archives/479

最后的结果是这样的:

技术分享


非常实用。只是在获取标题期间excel会出现卡顿的情况,这时候千万不要去碰它,容易卡死。


以上是关于用EXCEL批量获取网页标题的方法的主要内容,如果未能解决你的问题,请参考以下文章

怎样批量获取网页中的所有图片地址?求大神帮助

如何把网络的网页表格数据导入到Excel表中

用Excel中的vba获取网页内容填写网页表单

如何把网页的数据复制到excel

如何用Java抓取网页的具体内容

怎么用按键精灵将EXCEL表格数据批量录入到网站?