晚上好,
我刚开始在一个项目中使用Python (我想使用来自不同平台的社交媒体数据进行分析),我需要从微博检索不同的推文数据。
我选择使用这个library来完成这项工作。以网站为例,我的代码如下:
from weibo_scraper import get_weibo_tweets_by_name
for tweet in get_weibo_tweets_by_name(name='嘻红豆'):
print(tweet)结果如下所示:
{'card_type': 9, 'itemid': '1076033637346297_-_4341063131108312', 'scheme': 'https://m.weibo.cn/status/HheeR4Ek0?mblogid=HheeR4Ek0&luicode=10000011&lfid=1076033637346297', 'mblog': {'created_at': '12小时前', 'id': '4341063131108312', 'idstr': '4341063131108312', 'mid': '4341063131108312', 'can_edit': False, 'show_additional_indication': 0, 'text': '行吧//<a href=\'/n/夏正正\'>@夏正正</a>:我没有,我没说过。<span class="url-icon"><img alt=[感冒] src="//h5.sinaimg.cn/m/emoticon/icon/default/d_ganmao-babf39d6ae.png" style="width:1em; height:1em;" /></span>我不确定另一种获取tweet的方法是否更容易将其转换为dataframe,但这里是另一种方法:
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)结果如下:
行吧//<a href='/n/夏正正'>@夏正正</a>:我没有,我没说过。<span class="url-icon"><img alt=[感冒] src="//h5.sinaimg.cn/m/emoticon/icon/default/d_ganmao-babf39d6ae.png" style="width:1em; height:1em;" /></span>//<a href='/n/勺布斯'>@勺布斯</a>:<span class="url-icon"><img alt=[二哈] src="//h5.sinaimg.cn/m/emoticon/icon/others/d_erha-0d2bea3a7d.png" style="width:1em; height:1em;" /></span>//<a href='/n/暴躁豆奶包'>@暴躁豆奶包</a>:逃避虽然舒服但没用//<a href='/n/by语冰'>@by语冰</a>: 难受😖//<a href='/n/-Lillyyyyyy-'>@-Lillyyyyyy-</a>:扎心从这里开始,我不确定我应该如何继续将数据转换为pandas数据帧(创建CSV?,直接转换数据?)。
如果可能的话,我想得到一些关于这方面的指导。
非常感谢您的阅读。
发布于 2019-02-19 04:58:33
虽然我很难准确地掌握你想要实现的目标,但我认为这应该会让你开始了解数据框架。您可以先将tweet本身添加到列表中,然后使用pd.DataFrame(Tweet)创建一个datafrmae,然后从那里展开和提取,也可以执行以下操作。
tweets = []
from weibo_scraper import get_formatted_weibo_tweets_by_name
result_iterator = get_formatted_weibo_tweets_by_name(name='嘻红豆', pages=1)
for user_meta in result_iterator:
for tweetMeta in user_meta.cards_node:
tweets.append(tweetMeta.mblog.text)
df = pd.DataFrame(tweets)
with pd.option_context('display.max_rows', None, 'display.max_columns', None):
print(df)https://stackoverflow.com/questions/54754597
复制相似问题