Esempio n. 1
0
def get_formatted_weibo_tweets_by_name(name: str,
                                       with_comments: bool = False,
                                       pages: int = None) -> _TweetsResponse:
    """
    Get formatted weibo tweets by nick name without any authorization
    >>> from weibo_scraper import  get_formatted_weibo_tweets_by_name
    >>> result_iterator = get_formatted_weibo_tweets_by_name(name='嘻红豆', pages=None)
    >>> for user_meta in result_iterator:
    >>>     for tweetMeta in user_meta.cards_node:
    >>>         print(tweetMeta.mblog.text)
    :param name: nick name which you want to search
    :param pages: pages ,default all pages
    :return:  _TweetsResponse
    """
    if name == '':
        raise WeiBoScraperException(
            "name from <get_weibo_tweets_by_name> can not be blank!")
    egu_res = exist_get_uid(name=name)
    exist = egu_res.get("exist")
    uid = egu_res.get("uid")
    if exist:
        inner_tweet_containerid = get_tweet_containerid(uid=uid)
        yield from get_weibo_tweets_formatted(
            tweet_container_id=inner_tweet_containerid,
            with_comments=with_comments,
            pages=pages)
    else:
        yield None
Esempio n. 2
0
def get_weibo_tweets_by_name(name: str, pages: int = None) -> _TweetsResponse:
    """
    Get raw weibo tweets by nick name without any authorization
    >>> from weibo_scraper import  get_weibo_tweets_by_name
    >>> for tweet in get_weibo_tweets_by_name(name='嘻红豆', pages=1):
    >>>     print(tweet)
    :param name: nick name which you want to search
    :param pages: pages ,default all pages
    :return: _TweetsResponse
    """
    if name == '':
        raise WeiBoScraperException("name from <get_weibo_tweets_by_name> can not be blank!")
    egu_res = exist_get_uid(name=name)
    exist = egu_res.get("exist")
    uid = egu_res.get("uid")
    if exist:
        inner_tweet_containerid = get_tweet_containerid(uid=uid)
        yield from get_weibo_tweets(tweet_container_id=inner_tweet_containerid, pages=pages)
    else:
        yield None
Esempio n. 3
0
def weibo_get_index_parser(name: str = None, uid: str = None) -> _WeiboGetIndexResponse:
    """
    Get weibo get index parser
    :param name:  name
    :param uid:  uid
    :return: _WeiboGetIndexResponse
    """
    if uid is not None:
        _uid = uid
    elif name is not None:
        _egu_response = exist_get_uid(name=name)
        if not _egu_response.get('exist'):
            return None
        _uid = _egu_response.get('uid')
    else:
        return None
    _weibo_get_index_response_parser = WeiboGetIndexParser(get_index_api_response=weibo_getIndex(uid_value=_uid))
    if _weibo_get_index_response_parser.raw_response is None \
            or _weibo_get_index_response_parser.raw_response.get('data') == 0:
        return None
    return _weibo_get_index_response_parser
Esempio n. 4
0
 @Time 2021/6/6 7:38 下午
 @desc  Add New Functions In __init__.py
 
"""

import sys
import os
import weibo_scraper
from weibo_scraper import set_debug
from weibo_base.weibo_component import exist_get_uid, get_tweet_containerid
from weibo_base.weibo_util import Timer
import logging

if __name__ == '__main__':
    set_debug()
    uid = exist_get_uid(name='嘻红豆')
    print(uid)
    containerid = get_tweet_containerid(uid=uid.get('uid'))
    print(containerid)

    result = weibo_scraper.get_weibo_tweets_by_name(name="嘻红豆", pages=1)
    for tweet in result:
        print(tweet)
    result = weibo_scraper.get_weibo_tweets(tweet_container_id=containerid,
                                            pages=1)
    for tweet in result:
        print(tweet)

    wp = weibo_scraper.get_weibo_profile(name='嘻红豆')
    print(wp.raw_user_response)