ホームページ  >  記事  >  バックエンド開発  >  クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

Python当打之年
Python当打之年転載
2023-08-10 15:51:291607ブラウズ


#

本期为effc0f4ab6efa70b1851f6823d16a3cc系列文章下篇 コンテンツ [パート 1] では、Python を使用して Zhihu ホットリスト/Weibo ホット検索データを定期的にクロールする方法を紹介します。今日 では、pyecharts を使用してホットの時系列グラフを作成する方法を紹介します。リストデータ (動的カルーセルチャート) , お役に立てれば幸いです。

まずはエフェクトを見てみましょう (さまざまな再生速度):

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)


#

#1. 基本的なタイミング図

簡単な例 (NBA プレーヤーのデータ):
#
names = ['詹姆斯', '杜兰特', '库里', '欧文', '哈登']
allinfo = [[[492, 610, 533, 416, 565, 639, 709, 465, 472], [387, 551, 488, 511, 514, 646, 747, 454, 636], [1683, 2036, 2089, 1743, 1920, 1954, 2251, 1505, 1544]], [[533, 527, 640, 598, 178, 589, 513, 464, 497], [214, 231, 374, 445, 110, 361, 300, 366, 457], [2161, 1850, 2280, 2593, 686, 2029, 1555, 1792, 2027]], [[88, 314, 334, 341, 430, 353, 261, 369, 26], [138, 539, 666, 619, 527, 524, 310, 361, 33], [383, 1786, 1873, 1900, 2375, 1999, 1346, 1881, 104]], [[191, 216, 259, 237, 157, 230, 227, 335, 103], [275, 350, 433, 389, 250, 418, 306, 464, 128], [944, 1325, 1478, 1628, 1041, 1816, 1466, 1596, 548]], [[252, 379, 344, 459, 501, 659, 389, 518, 387], [229, 455, 446, 565, 612, 907, 630, 586, 450], [1044, 2023, 1851, 2217, 2376, 2356, 2191, 2818, 2096]]]

データは前の記事からのものです:

[「ジェームズ」が NBA 公式ジャージ販売リストですぐに 1 位にランクインあなたのアイドルが何位にランクされているかを確認してください ]

时序图代码:

y1 = []
y2 = []
y3 = []
for i in range(9):
    y_trb_sorce = []
    y_ast_sorce = []
    y_pts_sorce = []
    for j in range(5):
        y_trb_sorce.append(allinfo[j][0][i])
        y_ast_sorce.append(allinfo[j][1][i])
        y_pts_sorce.append(allinfo[j][2][i])
    y1.append(y_pts_sorce)
    y2.append(y_ast_sorce)
    y3.append(y_trb_sorce)

years = ['11-12赛季', '12-13赛季', '13-14赛季', '14-15赛季', '15-16赛季', '16-17赛季', '17-18赛季', '18-19赛季', '19-20赛季']
tl = Timeline()
for i in range(9):
    bar = (
        Bar()
            .add_xaxis(names)
            .add_yaxis('得分', y1[i])
            .add_yaxis('助攻', y2[i])
            .add_yaxis('篮板', y3[i])
            .set_global_opts(title_opts=opts.TitleOpts("{}三项数据".format(years[i])))
    )
    tl.add(bar, "{}".format(years[i]))
tl.render_notebook()
效果:
クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)


2. Weibo ホット検索の時系列チャート

2.1 データの読み取り

weibo_data = pd.read_csv('weibo_hot_datas.csv')
weibo_data.head()
结果:
クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

2.2 排名前15的热点 

代码:

tl = Timeline()
count = 50
time_data_counts = int(weibo_data.shape[0]/count)
times = weibo_data['时间'].values.tolist()
for i in range(time_data_counts):
    bar = (
        Bar()
            .add_xaxis(list(weibo_data['标题'])[i*count:i*count+15][::-1])
            .add_yaxis('微博热搜', list(weibo_data['热度'])[i*count:i*count+15][::-1])
            .reversal_axis()
            .set_global_opts(title_opts=opts.TitleOpts('{}'.format(times[i*count])))
    )
    tl.add(bar, "{}".format(times[i*count]))
tl.render_notebook()
效果:

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

2.3 调整边距 

代码:

# 将图形整体右移
grid = (
    Grid()
    .add(bar, grid_opts=opts.GridOpts(pos_left='30%', pos_right='10%')) 
)
tl.add(bar, "{}".format(times[i*count]))
tl.add(grid, '')
效果:

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

2.4 定制主题,增加图标,设置播放速度 

############効果:####################################

3. 知乎热榜时序图

3.1 读取数据 
zhihu_data = pd.read_csv('zhuhu_hot_datas.csv')
zhihu_data.head()
结果:

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

##3.2 トップ 15 ホットスポット

##効果:

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

##3.3 ランキングのホットスポット最後の 15

## 効果:

クローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)

この問題は主に、シーケンス図を作成するためのアイデアを友達に提供することを目的としています。 コードの繰り返しが多く、Zhihu ホット リストのコードはそうではありません。必要な場合は、以下のリンク (パート 1、パート 2) でコードを確認するか、または、オンラインで実行できます:

#https://www.heywhale.com/mw/project/60dd1932ee16460017a49d57

##

以上がクローラー + 視覚化 | Python Zhihu ホットリスト/Weibo ホット検索シーケンス チャート (パート 2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はPython当打之年で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。