怎样批量提取网站的标题和链接呢?

原创 小新  2017-06-27 14:31:05  阅读 4167 次 评论 0 条

前段时间,我把Blog重新升级和更换了程序,对于SEO来说,当你的网站结构发生了变化,为了不影响收录,最好把对应的链接提交到百度站长平台上,也就是A文章原来的连接要和新的连接要对上。但是连接怎样提出来呢?用工具,还是一条一条的找出来,还是用SQL语句导出来呢?


其实方法有非常好,好用的就几个,一个是网上搜一下“URL一键提取器”,一个是用EXECL来处理。今天我分享一下,EXECL的文章来提取链接和标题,我是用这个方法的。工具的话,有些灵有些不灵的。


文章的ID一般都是连续的,除非你用了随机生成或者别名的文式,如果不是连续ID的话,哪我分享的方法没有什么作用了。

那我们开始批量提取网站的标题和链接了哦。


1、新建一个EXECL,在一列里先输入最最的哪篇文章的连接

2、选择中连接,按住CTRL,把光标放在后面,会有一个“加号”出来,就向下一拉

3、接到你最后的一篇文章的ID就行了。


这样,连接就全找出来了,有时,有些链接会失效了,如我们把某篇文章删除了,哪我们就要用方法进行一个验证了,同样使用EXECL进行验证,链接有效的话,会出现标题的。


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

怎样批量提取网站的标题和链接呢?

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

怎样批量提取网站的标题和链接呢?

填入如下代码:

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)",剩下的直接往下拖就行了。比如获取这些网页的标题:

提醒一下哦,在获取标题期间excel会出现卡顿的情况,这时候千万不要去碰它,容易卡死。


本文地址:https://mxlog.com/fenxiang/1477.html
版权声明:本文为原创文章,版权归 小新 所有,欢迎分享本文,转载请保留出处!

评论已关闭!