贊贊小屋

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容

VBA可以先取得網頁原始碼,分析該網頁上所有的超連結網址,然後再設計程式取得各超連結網址相對應的網頁特定內容。本文以稅務局稅務新聞為例介紹。

本書第六章為《Excel稅務新聞》,到最後是將取得的資料儲存於Word文件、透過Outlook發送電子郵件。當時只有新聞標題,寫在郵件內文中寄出,在這一章綜合範例中,會介紹如何批量取得新聞全文,以習慣的附件形式寄出。

一、稅務新聞

和第六章第四節、第五節相同,這裡想取得新竹市稅務局的最新稅務新聞。

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第1張

二、網頁超連結

網頁中每條稅務新聞都是其他網頁的超連結,分析網頁原始碼,可知該網頁一共有616個超連結,這些新聞是其中的的第501個開始,如同第五章第四節的分析結果。

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第2張

三、取得網頁連結程式

編寫VBA程式碼如下:

130:以「r」變數建立一個計數器,從一開始,每次「j」迴圈就再加一;
160:在第「r」列第「1」欄寫入所取得的網頁資料「news」

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第3張

四、網頁連結清單

取得資料如下,正是該網頁中所有稅務新聞的網址。

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第4張

五、實際瀏覽網頁

以上個步驟第一個網址為例,實際瀏覽該網頁如截圖。

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第5張

六、取得新聞內容程式

再編寫VBA程式碼如下:

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第6張

七、網頁新聞連載

成功於Excel取得各個超連結網址的稅務新聞全文如下:

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第7張

VBA程式取得網頁超連結相關內容

這一節運用綜合VBA技術,將一個網頁所特定類型的多個超連結網址,一次依序取得各個相對應網址的特定內容,並且井然有序地寫入Excel工作表上,格式經過自動調整。最後兩點補充:其一,超連結正是如今網頁之所以便利的原因,通常一個網頁上都會很多其他網頁的超連結,像這樣都是可以利用本節方法,批次量取得同一網頁多個超連結結址的內容;其二,這一節是將資料寫入Excel,其實如果以可閱讀性來說,Word會是比較適合的軟體,對此將於下一節繼續介紹。

本文內容取自《人人做得到的網路資料整理術》,書本仍然是最好的學習方法,今天就買本書吧!

博客來網路書店網址:

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第8張

贊贊小屋VBA程式設計線上課程:

Excel VBA分析網頁原始碼,取得多網頁連結新聞內容 VBA網路爬蟲 第9張