SYMBOL INDEX (194 symbols across 13 files) FILE: answer.go type Answer (line 13) | type Answer struct method GetID (line 33) | func (a *Answer) GetID() int { method GetQuestion (line 47) | func (a *Answer) GetQuestion() *Question { method GetAuthor (line 60) | func (a *Answer) GetAuthor() *User { method GetUpvote (line 71) | func (a *Answer) GetUpvote() int { method ToMarkdown (line 84) | func (a *Answer) ToMarkdown(filename string) error { method ToHtml (line 96) | func (a *Answer) ToHtml(filename string) error { method GetContent (line 109) | func (a *Answer) GetContent() string { method GetVotersN (line 125) | func (a *Answer) GetVotersN(n int) []*User { method GetVoters (line 162) | func (a *Answer) GetVoters() []*User { method GetCommentsNum (line 167) | func (a *Answer) GetCommentsNum() int { method GetCollectedNum (line 180) | func (a *Answer) GetCollectedNum() int { method String (line 191) | func (a *Answer) String() string { method setContent (line 195) | func (a *Answer) setContent(value string) { method setUpvote (line 199) | func (a *Answer) setUpvote(value int) { function NewAnswer (line 24) | func NewAnswer(link string, question *Question, author *User) *Answer { function upvoteTextToNum (line 203) | func upvoteTextToNum(text string) int { function answerSelectionToHtml (line 222) | func answerSelectionToHtml(sel *goquery.Selection) (string, error) { function newUserFromAnswerAuthorTag (line 269) | func newUserFromAnswerAuthorTag(sel *goquery.Selection) *User { FILE: collection.go type Collection (line 14) | type Collection struct method GetName (line 38) | func (c *Collection) GetName() string { method GetCreator (line 53) | func (c *Collection) GetCreator() *User { method GetFollowersNum (line 71) | func (c *Collection) GetFollowersNum() int { method GetFollowersN (line 88) | func (c *Collection) GetFollowersN(n int) []*User { method GetFollowers (line 101) | func (c *Collection) GetFollowers() []*User { method GetQuestionsN (line 106) | func (c *Collection) GetQuestionsN(n int) []*Question { method GetQuestions (line 144) | func (c *Collection) GetQuestions() []*Question { method GetAnswersN (line 149) | func (c *Collection) GetAnswersN(n int) []*Answer { method GetAnswers (line 186) | func (c *Collection) GetAnswers() []*Answer { method GetQuestionsNum (line 191) | func (c *Collection) GetQuestionsNum() int { method GetAnswersNum (line 225) | func (c *Collection) GetAnswersNum() int { method GetCommentsNum (line 282) | func (c *Collection) GetCommentsNum() int { method String (line 294) | func (c *Collection) String() string { function NewCollection (line 25) | func NewCollection(link string, name string, creator *User) *Collection { function ajaxGetFollowers (line 298) | func ajaxGetFollowers(link string, xsrf string, total int) ([]*User, err... function newDocByNormalAjax (line 339) | func newDocByNormalAjax(link string, form url.Values) (*goquery.Document... function getQuestionsFromDoc (line 366) | func getQuestionsFromDoc(doc *goquery.Document) []*Question { function getAnswersFromDoc (line 379) | func getAnswersFromDoc(doc *goquery.Document) []*Answer { FILE: examples/example.go function main (line 14) | func main() { function showQuestion (line 51) | func showQuestion(question *zhihu.Question) { function showAnswer (line 96) | func showAnswer(answer *zhihu.Answer) { function showCollection (line 125) | func showCollection(collection *zhihu.Collection) { function showUser (line 160) | func showUser(user *zhihu.User) { function showTopic (line 238) | func showTopic(topic *zhihu.Topic) { function dumpAnswerHTML (line 250) | func dumpAnswerHTML(filename string, answer *zhihu.Answer) error { FILE: log.go type Logger (line 11) | type Logger struct method log (line 15) | func (logger *Logger) log(a ...interface{}) { method Error (line 22) | func (logger *Logger) Error(msg string, a ...interface{}) { method Warn (line 27) | func (logger *Logger) Warn(msg string, a ...interface{}) { method Warning (line 32) | func (logger *Logger) Warning(msg string, a ...interface{}) { method Info (line 37) | func (logger *Logger) Info(msg string, a ...interface{}) { method Debug (line 42) | func (logger *Logger) Debug(msg string, a ...interface{}) { method Success (line 47) | func (logger *Logger) Success(msg string, a ...interface{}) { FILE: log_test.go function Test_Error (line 7) | func Test_Error(t *testing.T) { function Test_Info (line 13) | func Test_Info(t *testing.T) { FILE: question.go type Question (line 15) | type Question struct method GetTitle (line 35) | func (q *Question) GetTitle() string { method GetDetail (line 46) | func (q *Question) GetDetail() string { method GetAnswersNum (line 58) | func (q *Question) GetAnswersNum() int { method GetFollowersNum (line 74) | func (q *Question) GetFollowersNum() int { method GetTopics (line 87) | func (q *Question) GetTopics() []*Topic { method GetFollowersN (line 99) | func (q *Question) GetFollowersN(n int) []*User { method GetFollowers (line 112) | func (q *Question) GetFollowers() []*User { method GetAllAnswers (line 117) | func (q *Question) GetAllAnswers() []*Answer { method GetTopXAnswers (line 122) | func (q *Question) GetTopXAnswers(x int) []*Answer { method GetTopAnswer (line 144) | func (q *Question) GetTopAnswer() *Answer { method GetCommentsNum (line 153) | func (q *Question) GetCommentsNum() int { method GetVisitTimes (line 166) | func (q *Question) GetVisitTimes() int { method String (line 181) | func (q *Question) String() string { method getAnswersOnIndex (line 186) | func (q *Question) getAnswersOnIndex() []*Answer { method getAnswersByAjax (line 199) | func (q *Question) getAnswersByAjax(page int) ([]*Answer, error) { method getMoreAnswers (line 241) | func (q *Question) getMoreAnswers(limit int) []*Answer { method processSingleAnswer (line 260) | func (q *Question) processSingleAnswer(sel *goquery.Selection) *Answer { method setFollowersNum (line 299) | func (q *Question) setFollowersNum(value int) { method setAnswersNum (line 303) | func (q *Question) setAnswersNum(value int) { method setVisitTimes (line 307) | func (q *Question) setVisitTimes(value int) { function NewQuestion (line 23) | func NewQuestion(link string, title string) *Question { FILE: question_test.go function init_session (line 5) | func init_session() { function Test_GetTitle (line 9) | func Test_GetTitle(t *testing.T) { function Test_GetDetail (line 22) | func Test_GetDetail(t *testing.T) { FILE: session.go type Auth (line 21) | type Auth struct method isEmail (line 30) | func (auth *Auth) isEmail() bool { method isPhone (line 35) | func (auth *Auth) isPhone() bool { method toForm (line 39) | func (auth *Auth) toForm() url.Values { type Session (line 58) | type Session struct method LoadConfig (line 87) | func (s *Session) LoadConfig(cfg string) { method Login (line 105) | func (s *Session) Login() error { method Get (line 168) | func (s *Session) Get(url string) (*http.Response, error) { method Post (line 181) | func (s *Session) Post(url string, bodyType string, body io.Reader) (*... method Ajax (line 195) | func (s *Session) Ajax(url string, body io.Reader, referer string) (*h... method authenticated (line 210) | func (s *Session) authenticated() bool { method buildLoginForm (line 224) | func (s *Session) buildLoginForm() url.Values { method searchXSRF (line 232) | func (s *Session) searchXSRF() string { method downloadCaptcha (line 249) | func (s *Session) downloadCaptcha() string { type loginResult (line 63) | type loginResult struct function NewSession (line 72) | func NewSession() *Session { function Init (line 282) | func Init(cfgFile string) { function SetSession (line 291) | func SetSession(s *Session) { FILE: session_test.go constant cfgFile (line 7) | cfgFile = "./examples/config.json" function Test_searchXsrf (line 9) | func Test_searchXsrf(t *testing.T) { FILE: topic.go type Topic (line 10) | type Topic struct method GetName (line 28) | func (t *Topic) GetName() string { method GetDescription (line 39) | func (t *Topic) GetDescription() string { method GetFollowersNum (line 56) | func (t *Topic) GetFollowersNum() int { method GetTopAuthors (line 73) | func (t *Topic) GetTopAuthors() []*User { method String (line 91) | func (t *Topic) String() string { function NewTopic (line 17) | func NewTopic(link string, name string) *Topic { FILE: user.go type User (line 18) | type User struct method GetUserID (line 40) | func (user *User) GetUserID() string { method GetDataID (line 56) | func (user *User) GetDataID() string { method GetBio (line 92) | func (user *User) GetBio() string { method GetLocation (line 110) | func (user *User) GetLocation() string { method GetBusiness (line 115) | func (user *User) GetBusiness() string { method GetEducation (line 120) | func (user *User) GetEducation() string { method GetGender (line 125) | func (user *User) GetGender() string { method GetAvatar (line 149) | func (user *User) GetAvatar() string { method GetAvatarWithSize (line 165) | func (user *User) GetAvatarWithSize(size string) string { method GetWeiboURL (line 179) | func (user *User) GetWeiboURL() string { method GetFollowersNum (line 198) | func (user *User) GetFollowersNum() int { method GetFolloweesNum (line 203) | func (user *User) GetFolloweesNum() int { method GetFollowedColumnsNum (line 208) | func (user *User) GetFollowedColumnsNum() int { method GetFollowedTopicsNum (line 213) | func (user *User) GetFollowedTopicsNum() int { method GetAgreeNum (line 218) | func (user *User) GetAgreeNum() int { method GetThanksNum (line 223) | func (user *User) GetThanksNum() int { method GetAsksNum (line 228) | func (user *User) GetAsksNum() int { method GetAnswersNum (line 233) | func (user *User) GetAnswersNum() int { method GetPostsNum (line 238) | func (user *User) GetPostsNum() int { method GetCollectionsNum (line 243) | func (user *User) GetCollectionsNum() int { method GetLogsNum (line 248) | func (user *User) GetLogsNum() int { method GetFolloweesN (line 253) | func (user *User) GetFolloweesN(n int) []*User { method GetFollowees (line 263) | func (user *User) GetFollowees() []*User { method GetFollowersN (line 268) | func (user *User) GetFollowersN(n int) []*User { method GetFollowers (line 279) | func (user *User) GetFollowers() []*User { method GetAsksN (line 284) | func (user *User) GetAsksN(n int) []*Question { method GetAsks (line 338) | func (user *User) GetAsks() []*Question { method GetAnswersN (line 343) | func (user *User) GetAnswersN(n int) []*Answer { method GetAnswers (line 391) | func (user *User) GetAnswers() []*Answer { method GetCollectionsN (line 396) | func (user *User) GetCollectionsN(n int) []*Collection { method GetCollections (line 438) | func (user *User) GetCollections() []*Collection { method GetFollowedTopicsN (line 443) | func (user *User) GetFollowedTopicsN(n int) []*Topic { method GetFollowedTopics (line 493) | func (user *User) GetFollowedTopics() []*Topic { method GetLikes (line 498) | func (user *User) GetLikes() []*Answer { method GetVotedAnswers (line 507) | func (user *User) GetVotedAnswers() []*Answer { method IsAnonymous (line 512) | func (user *User) IsAnonymous() bool { method String (line 516) | func (user *User) String() string { method getProfile (line 523) | func (user *User) getProfile(cacheKey string) string { method getFollowersNumOrFolloweesNum (line 542) | func (user *User) getFollowersNumOrFolloweesNum(cacheKey string) int { method getFollowedColumnsOrTopicsNum (line 577) | func (user *User) getFollowedColumnsOrTopicsNum(cacheKey string) int { method getAgreeOrThanksNum (line 607) | func (user *User) getAgreeOrThanksNum(cacheKey string) int { method getProfileNum (line 640) | func (user *User) getProfileNum(cacheKey string) int { method getFolloweesOrFollowers (line 681) | func (user *User) getFolloweesOrFollowers(eeOrEr string, limit int) ([... method setFollowersNum (line 752) | func (user *User) setFollowersNum(value int) { method setAsksNum (line 756) | func (user *User) setAsksNum(value int) { method setAnswersNum (line 760) | func (user *User) setAnswersNum(value int) { method setAgreeNum (line 764) | func (user *User) setAgreeNum(value int) { method setBio (line 768) | func (user *User) setBio(value string) { function NewUser (line 28) | func NewUser(link string, userID string) *User { function isAnonymous (line 772) | func isAnonymous(userID string) bool { function newUserFromHTML (line 776) | func newUserFromHTML(html string) (*User, error) { function newUserFromSelector (line 786) | func newUserFromSelector(sel *goquery.Selection) *User { FILE: util.go constant userAgent (line 20) | userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWeb... constant baseZhihuURL (line 21) | baseZhihuURL = "https://www.zhihu.com" constant pageSize (line 22) | pageSize = 20 function validQuestionURL (line 35) | func validQuestionURL(value string) bool { function validCollectionURL (line 39) | func validCollectionURL(value string) bool { function validTopicURL (line 43) | func validTopicURL(value string) bool { function reMatchInt (line 47) | func reMatchInt(raw string) int { function validateAvatarSize (line 56) | func validateAvatarSize(size string) bool { function replaceAvatarSize (line 65) | func replaceAvatarSize(origin string, size string) string { function isEmail (line 69) | func isEmail(value string) bool { function newHTTPHeaders (line 73) | func newHTTPHeaders(isXhr bool) http.Header { function strip (line 87) | func strip(s string) string { function minInt (line 91) | func minInt(a, b int) int { function getCwd (line 98) | func getCwd() string { function save (line 106) | func save(filename string, content []byte) error { function saveString (line 110) | func saveString(filename string, content string) error { function openCaptchaFile (line 114) | func openCaptchaFile(filename string) error { function readCaptchaInput (line 146) | func readCaptchaInput() string { function makeZhihuLink (line 153) | func makeZhihuLink(path string) string { function urlJoin (line 157) | func urlJoin(base, path string) string { function newDocumentFromURL (line 168) | func newDocumentFromURL(url string) (*goquery.Document, error) { type Page (line 184) | type Page struct method Doc (line 204) | func (page *Page) Doc() *goquery.Document { method Refresh (line 218) | func (page *Page) Refresh() (err error) { method GetXSRF (line 225) | func (page *Page) GetXSRF() string { method totalPages (line 232) | func (page *Page) totalPages() int { method setField (line 236) | func (page *Page) setField(field string, value interface{}) { method getIntField (line 240) | func (page *Page) getIntField(field string) (value int, exists bool) { method getStringField (line 247) | func (page *Page) getStringField(field string) (value string, exists b... function newZhihuPage (line 196) | func newZhihuPage(link string) *Page { function getTotalPages (line 254) | func getTotalPages(doc *goquery.Document) int { type nodeListResult (line 265) | type nodeListResult struct type normalAjaxResult (line 271) | type normalAjaxResult struct FILE: util_test.go function Test_validQuestionURL (line 7) | func Test_validQuestionURL(t *testing.T) {