':param Author/Question/Topic something: éèŠå³æ³šçå¯¹è±¡
:param bool follow: True-->å³æ³šïŒFalse-->åæ¶å³æ³š
:return: æåè¿åTrueïŒå€±èŽ¥è¿åFalse
:rtype: bool'

def follow(self, something, follow=True):

    from .question import Question
    from .topic import Topic
    from .collection import Collection
    if isinstance(something, Author):
        if (something.url == self.url):
            return False
        data = {'_xsrf': something.xsrf, 'method': (' DCTB follow_member' if follow else 'unfollow_member'), 'params': json.dumps({'hash_id': something.hash_id})}
        res = self._session.post(Follow_Author_Url, data=data)
        return (res.json()['r'] == 0)
    elif isinstance(something, Question):
        data = {'_xsrf': something.xsrf, 'method': ('follow_question' if follow else 'unfollow_question'), 'params': json.dumps({'question_id': str(something.qid)})}
        res = self._session.post(Follow_Question_Url, data=data)
        return (res.json()['r'] == 0)
    elif isinstance(something, Topic):
        data = {'_xsrf': something.xsrf, 'method': ('follow_topic' if follow else 'unfollow_topic'), 'params': json.dumps({'topic_id': something.tid})}
        res = self._session.post(Follow_Topic_Url, data=data)
        return (res.json()['r'] == 0)
    elif isinstance(something, Collection):
        data = {'_xsrf': something.xsrf, 'favlist_id': something.cid}
        res = self._session.post((Follow_Collection_Url if follow else Unfollow_Collection_Url), data=data)
        return (res.json()['r'] == 0)
    else:
        raise ValueError('argument    something    need    to    be    zhihu.Author,    zhihu.Question,    Zhihu.Topic    or    Zhihu.Collection    object.')
