Documentation
¶
Overview ¶
Package zhihu is the library behind the zhihu command line: the HTTP client, request shaping, and the typed data models for the Zhihu hot list (热榜) and search suggestions.
The Android User-Agent trick: the hot-list and suggest endpoints work without a login session when the client identifies itself as the Zhihu Android app. The Client sets both User-Agent and x-app-za on every request.
Index ¶
Constants ¶
const (
// Host is the site this client talks to.
Host = "zhihu.com"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client talks to Zhihu over HTTP.
type Config ¶
type Config struct {
BaseURL string
UserAgent string
AppZA string
Rate time.Duration
Timeout time.Duration
Retries int
}
Config holds all tunable parameters for the Client.
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns a Config with the Android UA and sensible defaults.
type Domain ¶
type Domain struct{}
Domain is the zhihu driver.
func (Domain) Classify ¶
Classify turns an input into the canonical (type, id). Zhihu questions live at /question/{id}.
func (Domain) Info ¶
func (Domain) Info() kit.DomainInfo
Info describes the scheme, the hostnames a pasted link is matched against, and the identity reused for the binary's help and version.
type HotItem ¶
type HotItem struct {
Rank int `json:"rank"`
Title string `json:"title"`
Heat string `json:"heat"` // e.g. "951 万热度"
Answers int `json:"answers"` // answer_count
URL string `json:"url"` // https://www.zhihu.com/question/{id}
}
HotItem is one entry from the Zhihu hot list (热榜).
type Suggestion ¶
type Suggestion struct {
Rank int `json:"rank"`
Query string `json:"query"` // suggested search string
}
Suggestion is one autocomplete result from the Zhihu search suggestion API.