Heim > Backend-Entwicklung > Python-Tutorial > Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

Freigeben: 2023-08-10 15:51:29
nach vorne
1652 Leute haben es durchsucht


本期为<知乎热榜/微博热搜时序图>系列文章下篇Inhalt, [Teil 1] stellt Ihnen vor, wie Sie Python zum regelmäßigen Crawlen von Zhihu-Hot-List-/Weibo-Hot-Search-Daten verwenden Diagramm) , hoffe es hilft.

Schauen wir uns zunächst den Effekt an (verschiedene Wiedergabegeschwindigkeiten):

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)


1. Grundlegendes Zeitdiagramm

Ein einfaches Beispiel (NBA-Spielerdaten):
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]]]
Nach dem Login kopieren

Daten kommen aus dem vorherigen Artikel:

„King James“ führt die offizielle NBA-Trikot-Verkaufsliste an, schauen Sie, wo Ihr Idol steht

🎜

时序图代码:

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()
Nach dem Login kopieren
效果:
Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)


2. Weibo-Hot-Search-Zeitreihendiagramm

2.1 Daten lesen

weibo_data = pd.read_csv(&#39;weibo_hot_datas.csv&#39;)
weibo_data.head()
Nach dem Login kopieren
结果:
Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

2.2 排名前15的热点

代码:

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()
Nach dem Login kopieren
效果:

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

2.3 调整边距

代码:

# 将图形整体右移
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;)
Nach dem Login kopieren
效果:

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

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

Wirkung:

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

3. 知乎热榜时序图

3.1 读取数据
zhihu_data = pd.read_csv(&#39;zhuhu_hot_datas.csv&#39;)
zhihu_data.head()
Nach dem Login kopieren
结果:

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

3.2 Top 15 Hotspots

Wirkung:

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

3.3 Die unteren 15 Hotspots

Wirkung:

Crawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2)

Diese Ausgabe dient hauptsächlich dazu, Freunden eine Idee für die Erstellung von Zeitdiagrammen zu geben. Es gibt viele Codewiederholungen, daher wird der Zhihu-Hotlist-Code nicht veröffentlicht. Wenn Sie ihn benötigen, können Sie ihn unten verlinken Sehen Sie sich den Code an (Teil 1 + Teil 2), Sie können ihn auch online ausführen:

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

Das obige ist der detaillierte Inhalt vonCrawler + Visualisierung |. Python Zhihu Hot List/Weibo Hot Search Sequenzdiagramm (Teil 2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:Python当打之年
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage