Habrastatistics: Entdeckt déi meescht an mannst besicht Sektioune vum Site
Hey Habr.
В virdrun Deel Den Habr Traffic gouf no den Haaptparameter analyséiert - d'Zuel vun den Artikelen, hir Meenungen a Bewäertungen. Wéi och ëmmer, d'Fro vun der Popularitéit vun de Site Sektiounen blouf net ënnersicht. Et gouf interessant dëst méi am Detail ze kucken an déi populärsten an onpopulärsten Hubs ze fannen. Schlussendlech wäert ech de Geektimes Effekt méi detailléiert kucken, op en Enn mat enger neier Auswiel vun de beschten Artikelen baséiert op neie Ranking.
Fir déi, déi interesséiert sinn wat geschitt ass, ass d'Fortsetzung ënner dem Schnëtt.
Loosst mech Iech nach eng Kéier drun erënneren datt d'Statistiken an d'Bewäertungen net offiziell sinn, ech hu keng Insiderinformatioun. Et ass och net garantéiert datt ech iergendwou kee Feeler gemaach hunn oder eppes verpasst hunn. Awer trotzdem mengen ech, datt et interessant ass. Mir fänke fir d'éischt mam Code un, déi net drun interesséiert sinn, kënnen déi éischt Rubriken iwwersprangen.
Datensammlung
An der éischter Versioun vum Parser gouf nëmmen d'Zuel vun de Meenungen, Kommentaren an Artikel Bewäertungen berücksichtegt. Dëst ass scho gutt, awer et erlaabt Iech net méi komplex Ufroen ze maachen. Et ass Zäit d'thematesch Sektiounen vum Site ze analyséieren, dëst erlaabt Iech ganz interessant Fuerschung ze maachen, zum Beispill, kuckt wéi d'Popularitéit vun der "C++" Sektioun iwwer e puer Joer geännert huet.
Den Artikel Parser gouf verbessert, elo gëtt et d'Hubs zréck, zu deenen den Artikel gehéiert, souwéi de Spëtznumm vum Auteur a seng Bewäertung (vill interessant Saache kënnen och hei gemaach ginn, awer dat wäert méi spéit kommen). D'Date ginn an enger Csv-Datei gespäichert déi sou ausgesäit:
2018-12-18T12:43Z,https://habr.com/ru/post/433550/,"Мессенджер Slack — причины выбора, косяки при внедрении и особенности сервиса, облегчающие жизнь",votes:7,votesplus:8,votesmin:1,bookmarks:32,
views:8300,comments:10,user:ReDisque,karma:5,subscribers:2,hubs:productpm+soft
...
Mir kréien eng Lëscht vun den Haaptthemateschen Hubs vum Site.
def get_as_str(link: str) -> Str:
try:
r = requests.get(link)
return Str(r.text)
except Exception as e:
return Str("")
def get_hubs():
hubs = []
for p in range(1, 12):
page_html = get_as_str("https://habr.com/ru/hubs/page%d/" % p)
# page_html = get_as_str("https://habr.com/ru/hubs/geektimes/page%d/" % p) # Geektimes
# page_html = get_as_str("https://habr.com/ru/hubs/develop/page%d/" % p) # Develop
# page_html = get_as_str("https://habr.com/ru/hubs/admin/page%d" % p) # Admin
for hub in page_html.split("media-obj media-obj_hub"):
info = Str(hub).find_between('"https://habr.com/ru/hub', 'list-snippet__tags')
if "*</span>" in info:
hub_name = info.find_between('/', '/"')
if len(hub_name) > 0 and len(hub_name) < 32:
hubs.append(hub_name)
print(hubs)
D'find_between Funktioun an d'Str Klass wielt e String tëscht zwee Tags, ech hunn se benotzt virdrun. Thematesch Hubs si mat engem "*" markéiert fir datt se einfach identifizéiert kënne ginn, an Dir kënnt och déi entspriechend Zeilen unkommentéieren fir Sektiounen vun anere Kategorien ze kréien.
D'Ausgab vun der get_hubs Funktioun ass eng zimlech beandrockend Lëscht, déi mir als Wierderbuch späicheren. Ech presentéieren speziell d'Lëscht a senger Ganzheet, fir datt Dir säi Volumen schätze kënnt.
Déi reschtlech Hubs goufen op déiselwecht Manéier konservéiert. Elo ass et einfach eng Funktioun ze schreiwen déi d'Resultat zréckginn ob den Artikel zu Geektimes oder e Profilhub gehéiert.
Mir weisen d'Zuel vun publizéierten Artikelen mat Matplotlib:
Ech hunn d'Artikelen "geektimes" an "geektimes nëmmen" an der Grafik opgedeelt, well En Artikel kann zu béide Sektiounen zur selwechter Zäit gehéieren (zum Beispill "DIY" + "Mikrokontroller" + "C++"). Ech hunn d'Bezeechnung "Profil" benotzt fir Profilartikelen um Site ze markéieren, obwuel vläicht den englesche Begrëff Profil fir dëst net ganz korrekt ass.
Am viregten Deel hu mir gefrot iwwer den "Geektimes Effekt" verbonne mat der Ännerung vun de Bezuelregele fir Artikele fir Geektimes ab dësem Summer. Loosst eis d'Geektimes Artikelen separat weisen:
D'Resultat ass interessant. De geschätzte Verhältnis vu Meenunge vu Geektimes Artikelen zum Gesamt ass iergendwou ongeféier 1:5. Awer wärend d'Gesamtzuel vun de Meenungen däitlech schwankt, ass d'Kucke vun "Entertainment" Artikelen ongeféier um selwechten Niveau bliwwen.
Dir kënnt och bemierken datt d'Gesamtzuel vun de Meenungen vun Artikelen an der Rubrik "Geektimes" nach ëmmer gefall ass nodeems Dir d'Regele geännert hutt, awer "duerch Auge", net méi wéi 5% vun de Gesamtwäerter.
Et ass interessant déi duerchschnëttlech Unzuel vun Meenungen pro Artikel ze kucken:
Fir "Entertainment" Artikelen ass et ongeféier 40% iwwer der Moyenne. Dëst ass wahrscheinlech net iwwerraschend. Den Echec Ufank Abrëll ass fir mech onverständlech, vläicht ass dat geschitt, oder et ass eng Zort Parsing-Feeler, oder vläicht ass ee vun de Geektime Autoren an d'Vakanz gaang ;).
Iwwregens, weist d'Grafik zwee méi bemierkenswäert Peaks an der Unzuel vun Meenungen vun Artikelen - d'New Joer a Mee Vakanz.
Hubs
Loosst eis op déi versprach Analyse vun Hubs weidergoen. Loosst eis déi Top 20 Hubs no Unzuel u Meenungen oplëschten:
Iwwerraschend war de populäersten Hub a punkto Meenungen "Informatiounssécherheet" déi Top 5 Leader hunn och "Programméierung" a "Popularwëssenschaft" abegraff;
Antitop besetzt Gtk a Kakao.
Ech soen Iech e Geheimnis, déi Top Hubs kënnen och gesi ginn hei, obwuel d'Zuel vun de Meenungen do net ugewise gëtt.
Rating
An endlech, déi versprach Bewäertung. Mat Hub Analysedaten kënne mir déi populärste Artikele fir déi populärste Hubs fir dëst Joer 2019 weisen.
A schlussendlech, fir datt keen beleidegt ass, ginn ech d'Bewäertung vum mannst besichten Hub "gtk". Bannent engem Joer gouf et publizéiert одна Den Artikel, deen och "automatesch" déi éischt Zeil vun der Bewäertung besetzt.