From b62fd0eeb69ad91f6fe9856ffca6b1bfe907cc10 Mon Sep 17 00:00:00 2001 From: songjiaxin Date: Fri, 7 Aug 2020 10:09:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E5=92=8C=E7=BB=93=E6=9E=84=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 53 +++++-------------------------------------------- crawler_test.go | 46 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index f670902..7afa2ad 100644 --- a/README.md +++ b/README.md @@ -3,53 +3,10 @@ ![screenshot1.png](misc/screenshot1.png) -## usage +## 测试爬虫功能 -```go -package main - -import ( - "fmt" - "log" - "os" - Zhihu "github.com/solarhell/ZhihuZhuanlanCrawler" -) - -func main() { - const columnName = "OTalk" - - pinnedArticlePidAndAuthor, err := Zhihu.GetPinnedArticlePidAndAuthor(columnName) - if err != nil { - log.Println(err) - os.Exit(1) - } - - fmt.Printf("%+v\n", *pinnedArticlePidAndAuthor) - - pinnedArticle, err := Zhihu.GetSingleArticle(pinnedArticlePidAndAuthor.ID) - if err != nil { - log.Println(err) - os.Exit(1) - } - - fmt.Printf("%+v\n", *pinnedArticle) - - pids, err := Zhihu.GetArticlesListPids(columnName) - if err != nil { - log.Println(err) - os.Exit(1) - } - - for _, pid := range pids { - if pid == pinnedArticle.ID { - continue - } - article, err := Zhihu.GetSingleArticle(pid) - if err != nil { - log.Println(err) - os.Exit(1) - } - fmt.Printf("%+v\n", *article) - } -} +```shell script +go test -run TestCrawl -v ``` + +具体用法可以参考 `crawler_test.go`。 diff --git a/crawler_test.go b/crawler_test.go index 8274386..3e8b15d 100644 --- a/crawler_test.go +++ b/crawler_test.go @@ -1,6 +1,8 @@ package ZhihuZhuanlanCrawler -import "testing" +import ( + "testing" +) const columnName = "OTalk" // https://zhuanlan.zhihu.com/Otalk const pid = 60968502 // https://zhuanlan.zhihu.com/p/60968502 @@ -20,7 +22,7 @@ func TestClient_GetArticlesListPids(t *testing.T) { t.Error(err.Error()) return } - t.Logf("%+v\n", pids) + t.Logf("%v\n", pids) } func TestClient_GetSingleArticle(t *testing.T) { @@ -31,3 +33,43 @@ func TestClient_GetSingleArticle(t *testing.T) { } t.Logf("%+v\n", *article) } + +func TestCrawl(t *testing.T) { + const columnName = "OTalk" + + pinnedArticlePidAndAuthor, err := GetPinnedArticlePidAndAuthor(columnName) + if err != nil { + t.Error(err) + return + } + + t.Logf("%+v\n", *pinnedArticlePidAndAuthor) + + pinnedArticle, err := GetSingleArticle(pinnedArticlePidAndAuthor.ID) + if err != nil { + t.Error(err) + return + } + + t.Logf("%+v\n", *pinnedArticle) + + pids, err := GetArticlesListPids(columnName) + if err != nil { + t.Error(err) + return + } + + t.Logf("pids: %v\n", pids) + + for _, pid := range pids { + if pid == pinnedArticle.ID { + continue + } + article, err := GetSingleArticle(pid) + if err != nil { + t.Error(err) + return + } + t.Logf("%+v\n", *article) + } +}