2014-11-18 3 views
2

웹 페이지의 텍스트를 간단하게 얻을 수있는 방법을 찾고 있습니다. 가능한 한 많은 정규 표현식에 의지하지 않는 것이 좋습니다.go에서 html 페이지의 텍스트 추출

그냥 이런 종류의 것이 이미 내장되어 있거나 적어도 이동하기 쉬운 경우에 먼저 확인해 볼 것이라고 생각했습니다.

+1

:

이 예는 github의 페이지에서 가져옵니다 . –

답변

2

go-query을 사용할 수 있습니다. 이 lib는 html 문서에서 grep 텍스트와 doc 요소에 jquery처럼 사용할 수 있습니다. 내가 지금 전체 답을 쓸 시간이 없어,하지만 https://github.com/PuerkitoBio/goquery을 당신이 원하는 수 있습니다

package main 

import (
    "fmt" 
    "github.com/PuerkitoBio/goquery" 
    "log" 
) 

func ExampleScrape() { 
    doc, err := goquery.NewDocument("http://metalsucks.net") 
    if err != nil { 
     log.Fatal(err) 
    } 
    doc.Find(".reviews-wrap article .review-rhs").Each(func(i int, s *goquery.Selection) { 
     band := s.Find("h3").Text() 
     title := s.Find("i").Text() 
     fmt.Printf("Review %d: %s - %s\n", i, band, title) 
    }) 
} 
func main() { 
    ExampleScrape() 
}