MasaのITC Life

夢は起業家!全てにおいて凡人だけど頑張ることだけはいっちょ前!

プログラミング

【Go言語】超簡単!Goqueryを用いたをスクレイピング方法!

投稿日:



Go言語でスクレイピングをしていきます。

サードパーティのGoqueryライブラリは、

jQueryライクに使えるので、

大変分かりやすくて、使いやすいです。





パッケージのインポート

import "github.com/PuerkitoBio/goquery"



ここで一般的な使い方を紹介します。

スクレイピングの対象は、

wiki(ウィキペディア)にします。




見出しなどの情報を抽出してみましょう!

 


基本的には、Findメソッドで探索していきます。

jQeuryと同じなので、

"タグ名" / ".クラス名" / "#id" で

目的のノードなどにアクセス出来ます。




実行結果はこのようになります。



例えばwikiの目次を取得する場合は、

以下のようになります。

Wikipediaの目次をスクレイピングする!



開発者ツールで見ると、

目次はこのように構成されています。



目次項目は、<li>タグの中にあり、

通し番号と項目名はそれぞれ、

<span>タグで囲まれています。



通し番号のspanに適用されている

"tocnumber"クラスは、

目次でしか使われていないので、

これを目印に探索します。




Findでtocnumber指定したら、

<span class="tocnumber">1<span>

が最初にヒットします。



Eachでtocnumberクラスが適用されている

全てのspanタグにアクセス出来ます。



s.Text()でタグで囲まれたテキストを取得出来ます。

つまり目次番号が取得できます。



tocnumberを指定しただけでは、

目次番号しか取得出来ません。



目次項目も目次番号の次に、

spanタグ内にあるので、

s.Next()で次の要素(ノード)を取得出来ます。



そこに.Text()を加えれば、

目次項目が手に入るというわけです。




最後まで読んでいただきありがとうございました。

-プログラミング

Copyright© MasaのITC Life , 2023 All Rights Reserved Powered by STINGER.