ProHoster > Blog > ynternet nijs > Habrastatistics: ferkenne de meast en minst besochte seksjes fan 'e side
Habrastatistics: ferkenne de meast en minst besochte seksjes fan 'e side
Hoi Habr.
В foarige diel Habr's ferkear waard analysearre neffens de wichtichste parameters - it oantal artikels, har werjeften en wurdearrings. It probleem fan 'e populariteit fan' e side-seksjes bleau lykwols net ûndersocht. It waard ynteressant om dit yn mear detail te besjen en de populêrste en ûnpopulêre hubs te finen. Uteinlik sil ik it geektimes-effekt yn mear detail besjen, en einigje mei in nije seleksje fan 'e bêste artikels basearre op nije ranglist.
Foar dyjingen dy't ynteressearre binne yn wat der bard is, is it ferfolch ûnder de knipe.
Lit my jo nochris herinnerje dat de statistiken en wurdearrings net offisjeel binne, ik haw gjin ynsiderynformaasje. It is ek net garandearre dat ik net earne in flater makke of wat miste. Mar dochs, ik tink dat it is nijsgjirrich. Wy sille earst begjinne mei de koade; dyjingen dy't net ynteressearre binne yn dit kinne de earste seksjes oerslaan.
Data kolleksje
Yn 'e earste ferzje fan' e parser waard allinich rekken holden mei it oantal werjeften, opmerkings en artikelwurdearrings. Dit is al goed, mar it lit jo net mear komplekse fragen meitsje. It is tiid om de tematyske seksjes fan 'e side te analysearjen; dit sil jo frij ynteressant ûndersyk kinne dwaan, bygelyks te sjen hoe't de populariteit fan 'e seksje "C ++" is feroare oer ferskate jierren.
De artikelparser is ferbettere, no jout it de hubs werom dêr't it artikel by heart, lykas de bynamme fan de skriuwer en syn wurdearring (hjir kinne ek in protte nijsgjirrige dingen dien wurde, mar dat komt letter). De gegevens wurde bewarre yn in csv-bestân dat der sa útsjocht:
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
...
Wy sille in list krije mei de wichtichste tematyske hubs fan 'e side.
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)
De funksje find_between en de Str-klasse selektearje in tekenrige tusken twa tags, ik brûkte se earder. Tematyske hubs binne markearre mei in "*", sadat se maklik wurde markearre, en jo kinne ek de oerienkommende rigels uncommentearje om seksjes fan oare kategoryen te krijen.
De útfier fan 'e get_hubs-funksje is in frij yndrukwekkende list, dy't wy bewarje as in wurdboek. Ik presintearje spesifyk de list yn syn gehiel, sadat jo it folume kinne skatte.
De oerbleaune hubs waarden op deselde wize bewarre. No is it maklik om in funksje te skriuwen dy't it resultaat werombringt of it artikel heart ta geektimes of in profylhub.
Wy litte it oantal publisearre artikels sjen mei Matplotlib:
Ik ferdield de artikels "geektimes" en "geektimes allinne" yn 'e grafyk, omdat In artikel kin tagelyk ta beide seksjes hearre (bygelyks "DIY" + "microcontrollers" + "C++"). Ik brûkte de oantsjutting "profyl" om profylartikels op 'e side te markearjen, hoewol miskien de Ingelske term profyl hjirfoar net hielendal korrekt is.
Yn it foarige diel hawwe wy frege oer it "geektimes-effekt" ferbûn mei de feroaring yn 'e betellingsregels foar artikels foar geektimes dy't dizze simmer begjinne. Litte wy de geektimes-artikels apart sjen litte:
It resultaat is nijsgjirrich. De ûngefear ferhâlding fan werjeften fan geektimes-artikels oan it totaal is earne om 1:5. Mar wylst it totale oantal views merkber fluktuearre, it besjen fan "entertainment" artikels bleau op likernôch itselde nivo.
Jo kinne ek merke dat it totale oantal werjeften fan artikels yn 'e seksje "geektimes" noch foel nei it feroarjen fan de regels, mar "troch it each", mei net mear as 5% fan 'e totale wearden.
It is nijsgjirrich om te sjen nei it gemiddelde oantal werjeften per artikel:
Foar "entertainment" artikels is it sa'n 40% boppe gemiddeld. Dit is wierskynlik net ferrassend. It mislearjen oan it begjin fan april is my ûndúdlik, miskien is dat wat bard, of it is in soarte fan parseerflater, of miskien gie ien fan 'e geektime-auteurs op fakânsje ;).
Trouwens, de grafyk toant twa mear opfallende peaks yn it oantal artikelwerjeften - de Nijjiers- en maaiefakânsje.
Hubs
Litte wy trochgean nei de taseine analyse fan hubs. Litte wy de top 20 hubs listje op oantal werjeften:
Ferrassend wie de populêrste hub yn termen fan werjeften "Ynformaasjefeiligens"; de top 5-lieders omfetten ek "Programmering" en "Populêre wittenskip".
Antitop beslacht Gtk en Cocoa.
Ik sil jo in geheim fertelle, de boppeste hubs kinne ek sjoen wurde hjir, hoewol it oantal werjeften dêr net werjûn wurdt.
Rating
En as lêste, de taseine wurdearring. Mei hubanalysegegevens kinne wy de populêrste artikels werjaan foar de populêrste hubs foar dit jier 2019.
En as lêste, sadat gjinien misledige wurdt, sil ik de wurdearring fan 'e minst besochte hub "gtk" jaan. Binnen in jier waard it publisearre одна It artikel, dat ek "automatysk" beslacht de earste rigel fan 'e wurdearring.