用 Excel批次取得網址 URL的網頁標題(title)

用 Excel批次取得網址 URL的網頁標題(title) 1

偶然需要把大量的網址個別的網頁標題儲存起來,但 10個以內自己複製都還好,需要更大量就很累了。這時候發現可以用 Excel來完成!

準備工具:Excel、你的網址(https和 http分開)

如果你只是要先嘗試,你可以先使用下面的範例網址,這是我從 UDN聯合新聞網上面隨便抓的網址

https://udn.com/news/cate/6638
https://udn.com/news/cate/6639
https://udn.com/news/cate/6641
https://udn.com/news/cate/6640
https://udn.com/news/cate/7225
https://udn.com/news/cate/6643
https://udn.com/news/cate/6644
https://udn.com/news/cate/6645
https://udn.com/news/cate/7227
https://udn.com/news/cate/7226
https://udn.com/news/cate/6649

用 Excel批次取得網址 URL的網頁標題(title)步驟

1. 開啟 Excel工作表,將網址貼在 A1~A11的地方

用 Excel批次取得網址 URL的網頁標題(title) 2

2. 點選上方標籤的「開發人員」

如果你沒有開發人員,請按檔案 > 選項 > 自訂功能區 > 右邊的欄位把「開發人員」打勾 > 確定

用 Excel批次取得網址 URL的網頁標題(title) 3

3. 點選「Visual Basic」

4. 在開啟的 Visual Basic視窗中,左邊的欄位點兩下「工作表1」,此時中間會開啟一個輸入指令碼的視窗

用 Excel批次取得網址 URL的網頁標題(title) 4

5. 複製以下的指令碼,貼進去

Sub GetTitles()
Dim c As Range, url As String
For Each c In Range(“A1:A11“).Cells
url = Trim(c.Value)
If LCase(url) Like “https://*” Then
c.Offset(0, 1).Value = GetTitle(url)
End If
Next c
End Sub

Function GetTitle(sURL As String)
Dim title As String, res As String, pos1, pos2
Dim objHttp As Object
Set objHttp = CreateObject(“MSXML2.ServerXMLHTTP”)
objHttp.Open “GET”, sURL, False
objHttp.Send “”

res = objHttp.ResponseText
pos1 = InStr(1, UCase(res), “<TITLE>”)
pos2 = InStr(1, UCase(res), “</TITLE>”)

title = “<not found>”
If pos1 > 0 And pos2 > 0 Then
pos1 = pos1 + Len(“<TITLE>”)
title = Mid(res, pos1, pos2 – pos1)
End If
GetTitle = title
End Function

6. 按一下工具列上的綠色「‣」執行,執行

用 Excel批次取得網址 URL的網頁標題(title) 5

7. 此時 B行就會開始填入這些網址的標題囉!如果你的網址數量很多,請等等 Excel完成工作。

用 Excel批次取得網址 URL的網頁標題(title) 1

這就是透過 Excel來大量自動化取得網址標題的方法啦!

指令碼備註

A1:A11 上面紅色的指令碼,這裡是指你的網址填在哪幾個欄位,如果你有 20個網址那就是 A1:A20

https://* 上面藍色的指令碼,如果你的網址不是 https開頭,請把 s拿掉變成 http://*

存檔備註

當你存檔的時候,會發現 Excel提示有巨集,需要另外儲存才能保存巨集的內容,因此檔案類型要選擇 Excel啟用巨集的活頁簿;如果你只是偶爾暫時使用,可以把指令碼儲存起來就好,不必儲存這個活頁簿。也提醒,從網路上隨意下載的 Excel檔案如果提示有巨集,要特別注意掃描檔案安全性,因為來路不明的 Excel可能會有惡意的巨集指令碼!

留言

發佈留言必須填寫的電子郵件地址不會公開。

Scroll to Top