Sert siyah teknolojisi size Marvel'ın on yılda kaç karaktere sahip olduğunu söylüyor?

Yazar | Fanast

Baş Editör | Guo Rui

Son zamanlarda, Fulian 4'ün piyasaya sürüldüğü sırada yazar, özellikle Marvel karakterleri ve Marvel filmleri hakkında ilginç bir web sitesi buldu.

https://graphics.straitstimes.com/STI/STIMEDIA/Interactives/2018/04/marvel-cinematic-universe-whos-who-interactive/index.html

Aslında yazar, bir karakter ilişkisi analizi dalgası gerçekleştirmek için Graph hakkındaki kitaplığı da kullanmıştır, ancak analiz sonucu nispeten kabadır ~ Aşağıda, Graph teknolojisine dayalı olarak geliştirilen web sitesine genel bir bakış sunulmuştur. , Bir göz atabilirsiniz.

Öyleyse insanlar böyle havalı bir ilişki diyagramı oluşturabilirlerse, bunu gerçekleştirebilir miyiz? Bu makale, web sitesi tarafından sağlanan verileri gerçek bir savaş için Neo4j (NOSQL grafik veritabanı) kullanmak için kullanır.

Analiz alın

Karakterler ve bunlarla ilgili bilgiler web sitesinden elde edilir, özel arayüz aşağıdaki gibidir:

Veriler, sırasıyla "karakterler" ve "ilişki" olarak json formatındadır.

Buradaki bilgiler Tony Stark'a atıfta bulunuyor ve "0" ilişkisi bir arkadaş, Steven Rogers.

Veri toplama

Spesifik kod aşağıdaki gibidir:

json içe aktar ithalat istekleri üstbilgiler = { 'kullanıcı aracısı': 'Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, Gecko gibi) Chrome / 63.0.3239.132 Safari / 537.36' } url = 'https: //graphics.straitstimes.com/STI/STIMEDIA/Interactives/2018/04/marvel-cinematic-universe-whos-who-interactive/data/marvel-data.json' yanıt = istekler.get (url = url, başlıklar = başlıklar) sonuç = json.loads (response.text) num = 0 isimler = item = {0: 'arkadaş', 1: 'düşman', 2: 'yaratma', 3: 'aile', 4: 'iş', 5: 'aşk'} sonuçta i için: konu = sonuç nesne = sonuç konu isimlerde değilse: names.append (konu) nesne isimlerde değilse: names.append (nesne) ilişki = int (sonuç ) f olarak open ('related_message.csv', 'a +') ile: f.write (konu + ',' + nesne + ',' + öğe + '\ n') adlarda j için: num + = 1 f olarak open ('names_message.csv', 'a +') ile: f.write (j + ',' + str (num) + '\ n') sonuçta k için: id = sonuç isim = sonuç durum = sonuç türler = sonuç f olarak open ('message.csv', 'a +') ile: f.write (id + ',' + isim + ',' + durum + ',' + türler + '\ n')

Son olarak, veriler başarıyla elde edildi.

Karakterler kısaltma olarak adlandırılır ve toplam 182 karakter vardır.

1144 kişisel ilişki verisi, 4 tür, aşağıda 182 kişilere ait bazı ayrıntılı bilgiler:

Karakterin adını ve kısaltmasını, hayatta kalma durumunu ve karakter özelliklerini içerir.

veri goruntuleme

Neo4j aracılığıyla karakterler arasındaki ilişkiyi görselleştirelim. Neo4j'nin kurulumu burada ayrıntılı olarak anlatılmayacaktır. Baidu'yu kendiniz yapabilirsiniz.

Neo4j hizmetini açtıktan sonra Neo4j web sitesinde oturum açın ve ilk arayüz aşağıdaki gibidir:

Önce ilk dosyayı yükleyin:

Spesifik kod aşağıdaki gibidir:

CSV'Yİ BAŞLIKLARLA YÜKLE'file: ///names_message.csv 'AS data CREATE (: kişi {ad: veri.adı, kimlik: veri.id});

Aşağıdaki ikinci dosyayı yükleyin:

Spesifik kod aşağıdaki gibidir:

CSV'yi "file: ///relation_message.csv" AS ilişkilerinden BAŞLIKLARLA YÜKLE EŞLEŞTİRME (varlık1: kişi {ad: ilişkiler.subject}), (varlık2: kişiler {ad: ilişkiler.nesne}) CREATE (varlık1) - > (varlık2)

Sınırı iptal etmek için 1144 düğmesine tıklayın ve ardından tam ekrana tıklayın.

Burada, başlangıçta çok izole edilmiş olan ilk kötü karakter olan Marvel karakterlerinin bir araya gelmesini kabaca görebilirsiniz.

Burada çok fazla karakter olduğu için gözlemlemek sakıncalıdır, bu nedenle Tony Stark'ın arkadaşlarının taranması gibi bazı sonuçların taranması aşağıdaki kodu çalıştırın.

eşleşme p = (n: insanlar {ad: "tonys"}) - > () dönüş p;

Aşağıdaki sonucu alın:

Bunlar arasında "thor", "Thor", "stever", "Amerikan Takımı", "blackw", "Black Widow", "vizyon", "Vision", "peterp", "Örümcek Adam" ve "bruceb" Hulk".

ABD ekibinin kız arkadaşına bir göz atalım.

Peggy Carter ve yeğeni Sharon Carter'ın görünüş olarak çok benzer olduğu söyleniyor.

sonuç olarak

Bu sadece Neo4j'deki bazı basit işlemler, daha sonra daha fazlasını öğrenebilirim. Ayrıca Marvel'in bu karakter bilgileri de pek çok numara oynayabilir.

Ayrıca umarım herkes deneyebilir ve sert çekirdekli demir tozu yapabilir ~

Yazar: Fanasite, Python meraklıları, odaklanmış tarayıcılar, veri analizi ve görselleştirme.

Feragatname: Bu makale ilk olarak Fanast'ın kişisel genel hesabını yayınladı, yazar katkıda bulundu ve telif hakkı kendisine aittir.

SON

19 self servis kütüphane toplu olarak çevrimiçi! Bu yıl Zhongshan Okuma Ayı için başka hangi aktiviteler var?
önceki
Çiftçilerin yemeği ne kadar karmaşık?
Sonraki
Little Blue Wave Bay, büyük futbol hayali! Zhongshan'daki binlerce ilkokul öğrencisi Dünya Günü'nde becerilerini gösteriyor | Video
Zhao Wei'nin makyajı sette yakın zamanda çekilmiş bir fotoğrafta ortaya çıktı ve cildi o kadar kötü ki tanıyamıyor! Alyans takmanın nadir olduğundan mı şüpheleniyorsunuz?
Temiz ve düzenli ön uç kodu | Teknik başlıklar
2019 Pekin Kitap Fuarı açılıyor
Tesadüfen markete giden 65 yaşındaki Pan Hong, zarif bir mizaç ve ruh dolu.
Intel'in kıdemli akademisyeni Mark Ball'un efsanevi hayatı |
Buji Caddesi'ndeki Gönüllülerin Çocukları için "Gönüllü Adanmışlık, Düş Büyüme" Yardım Kursu başladı!
Siri ve Google, "Avengers 4" Paskalya yumurtalarını gizledi!
Hardcore yıldız peşinde! Yang Chaoyue Kupası finalleri hangi programlama projeleri?
Luhe Köyü Yeniden Canlandırmanın Aydınlanması | Luoxi Vadisi: Küresel Turizm Yaratmak İçin Sosyal Sermaye Tanıtımı
Siri ve Google, "Avengers 4" Paskalya yumurtalarını gizledi!
Kongo goril selfieleri yanıyor! Kamera için poz vermek, yüz ifadeleri senkronize
To Top