Go(goquery)でQiitaのスクレイピングライブラリをつくった
スクレイピングの対象は、特定のタグを対象にした最近ストックされた投稿と新着投稿になる。
※Qiitaが用意している公開APIを利用すれば同等のことができ、安定もしているので、通常、そちらの利用をおすすめします。
使用例
取得したいtagとpage(省略可能,デフォルト1)を指定して使う。
最近ストックされた投稿(例.ruby)
package main
import (
"fmt"
"github.com/high5/go-qiita-explore"
"log"
)
func main() {
explore := explore.NewExplore()
articles, err := explore.GetStocks("Ruby")
if err != nil {
log.Fatal(err)
}
for index, article := range articles {
if index == 0 {
fmt.Println("------------------------------------------------------------------------------")
}
fmt.Printf("title: %s \n", article.Title)
fmt.Printf("url: %s \n", article.URL.String())
fmt.Printf("user: %s \n", article.UserName)
fmt.Printf("user_url: %s \n", article.UserURL.String())
fmt.Printf("stock: %d \n", article.StockCount)
fmt.Printf("created_time: %s \n", article.CreatedTime.Format("2006-01-02"))
for index, tag := range article.Tags {
tagNo := index + 1
fmt.Printf("tag%d: %s (http://qiita.com/tags/%s)\n", tagNo, tag, tag)
}
fmt.Println("------------------------------------------------------------------------------")
}
}
新着投稿(例.JavaScript)
package main
import (
"fmt"
"github.com/high5/go-qiita-explore"
"log"
)
func main() {
explore := explore.NewExplore()
articles, err := explore.GetItems("JavaScript", 1)
if err != nil {
log.Fatal(err)
}
for index, article := range articles {
if index == 0 {
fmt.Println("------------------------------------------------------------------------------")
}
fmt.Printf("title: %s \n", article.Title)
fmt.Printf("url: %s \n", article.URL.String())
fmt.Printf("user: %s \n", article.UserName)
fmt.Printf("user_url: %s \n", article.UserURL.String())
fmt.Printf("stock: %d \n", article.StockCount)
fmt.Printf("created_time: %s \n", article.CreatedTime.Format("2006-01-02"))
for index, tag := range article.Tags {
tagNo := index + 1
fmt.Printf("tag%d: %s (http://qiita.com/tags/%s)\n", tagNo, tag, tag)
}
fmt.Println("------------------------------------------------------------------------------")
}
}
Author And Source
この問題について(Go(goquery)でQiitaのスクレイピングライブラリをつくった), 我々は、より多くの情報をここで見つけました https://qiita.com/high5/items/8c8dc426fb731d668007著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .