Maison > développement back-end > Tutoriel Python > Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

Libérer: 2023-08-10 15:51:29
avant
1749 Les gens l'ont consulté


本期为<知乎热榜/微博热搜时序图>系列文章下篇Contenu, [Partie 1] vous a présenté comment utiliser Python pour explorer régulièrement les données de la liste chaude Zhihu/les données de recherche chaude Weibo. Aujourd'hui vous présentera comment utiliser les pyecharts pour créer un graphique de séries chronologiques de données de liste chaude (carrousel dynamique). graphique) , j'espère que cela aide.

Voyons d'abord l'effet (différentes vitesses de lecture) :

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)


1. Chronogramme de base

Un exemple simple (données des joueurs NBA) :

1

2

names = [&#39;詹姆斯&#39;, &#39;杜兰特&#39;, &#39;库里&#39;, &#39;欧文&#39;, &#39;哈登&#39;]

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]]]

Copier après la connexion

Les données arrivent de Article précédent :

"King James" est en tête de la liste officielle des ventes de maillots de la NBA, jetez un œil au classement de votre idole

🎜

时序图代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

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 = [&#39;11-12赛季&#39;, &#39;12-13赛季&#39;, &#39;13-14赛季&#39;, &#39;14-15赛季&#39;, &#39;15-16赛季&#39;, &#39;16-17赛季&#39;, &#39;17-18赛季&#39;, &#39;18-19赛季&#39;, &#39;19-20赛季&#39;]

tl = Timeline()

for i in range(9):

    bar = (

        Bar()

            .add_xaxis(names)

            .add_yaxis(&#39;得分&#39;, y1[i])

            .add_yaxis(&#39;助攻&#39;, y2[i])

            .add_yaxis(&#39;篮板&#39;, y3[i])

            .set_global_opts(title_opts=opts.TitleOpts("{}三项数据".format(years[i])))

    )

    tl.add(bar, "{}".format(years[i]))

tl.render_notebook()

Copier après la connexion
效果:
Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)


2. Graphique des séries chronologiques de recherche à chaud Weibo

2.1 Lecture des données

1

2

weibo_data = pd.read_csv(&#39;weibo_hot_datas.csv&#39;)

weibo_data.head()

Copier après la connexion
结果:
Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

2.2 排名前15的热点

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

tl = Timeline()

count = 50

time_data_counts = int(weibo_data.shape[0]/count)

times = weibo_data[&#39;时间&#39;].values.tolist()

for i in range(time_data_counts):

    bar = (

        Bar()

            .add_xaxis(list(weibo_data[&#39;标题&#39;])[i*count:i*count+15][::-1])

            .add_yaxis(&#39;微博热搜&#39;, list(weibo_data[&#39;热度&#39;])[i*count:i*count+15][::-1])

            .reversal_axis()

            .set_global_opts(title_opts=opts.TitleOpts(&#39;{}&#39;.format(times[i*count])))

    )

    tl.add(bar, "{}".format(times[i*count]))

tl.render_notebook()

Copier après la connexion
效果:

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

2.3 调整边距

代码:

1

2

3

4

5

6

7

# 将图形整体右移

grid = (

    Grid()

    .add(bar, grid_opts=opts.GridOpts(pos_left=&#39;30%&#39;, pos_right=&#39;10%&#39;))

)

tl.add(bar, "{}".format(times[i*count]))

tl.add(grid, &#39;&#39;)

Copier après la connexion
效果:

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

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

Effet :

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

3. 知乎热榜时序图

3.1 读取数据

1

2

zhihu_data = pd.read_csv(&#39;zhuhu_hot_datas.csv&#39;)

zhihu_data.head()

Copier après la connexion
结果:

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

3.2 Top 15 des Hotspots

Effet :

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

3.3 Les 15 derniers points chauds

Effet :

Crawler + Visualisation | Tableau de séquence de recherche chaude Python Zhihu/Weibo (Partie 2)

Ce numéro vise principalement à donner à vos amis une idée pour créer des chronogrammes. Il existe de nombreuses répétitions de code, donc le code de la liste chaude Zhihu n'est pas publié. Si vous en avez besoin, vous pouvez le lier ci-dessous. Voir le code (Partie 1 + Partie 2), vous pouvez également l'exécuter en ligne :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal