Habrastatistics: archwilio'r rhannau o'r wefan yr ymwelir â hwy fwyaf a lleiaf
Hei Habr.
В rhan flaenorol Dadansoddwyd traffig Habr yn ôl y prif baramedrau - nifer yr erthyglau, eu barn a'u graddfeydd. Fodd bynnag, roedd y mater o boblogrwydd adrannau'r safle yn dal heb ei archwilio. Daeth yn ddiddorol edrych ar hyn yn fanylach a dod o hyd i'r canolbwyntiau mwyaf poblogaidd a mwyaf amhoblogaidd. Yn olaf, byddaf yn edrych ar effaith geektimes yn fwy manwl, gan orffen gyda detholiad newydd o'r erthyglau gorau yn seiliedig ar safleoedd newydd.
I'r rhai sydd â diddordeb yn yr hyn a ddigwyddodd, mae'r parhad o dan y toriad.
Gadewch imi eich atgoffa unwaith eto nad yw'r ystadegau a'r graddfeydd yn swyddogol, nid oes gennyf unrhyw wybodaeth fewnol. Nid oes sicrwydd ychwaith na wnes i gamgymeriad yn rhywle neu fethu rhywbeth. Ond eto, dwi'n meddwl ei fod wedi troi allan yn ddiddorol. Byddwn yn dechrau gyda'r cod yn gyntaf; gall y rhai nad oes ganddynt ddiddordeb yn hwn hepgor yr adrannau cyntaf.
Casglu data
Yn fersiwn gyntaf y parser, dim ond nifer y safbwyntiau, sylwadau a graddfeydd erthyglau a ystyriwyd. Mae hyn eisoes yn dda, ond nid yw'n caniatáu ichi wneud ymholiadau mwy cymhleth. Mae'n bryd dadansoddi adrannau thematig y wefan; bydd hyn yn caniatáu ichi wneud ymchwil eithaf diddorol, er enghraifft, gweld sut mae poblogrwydd yr adran "C ++" wedi newid dros nifer o flynyddoedd.
Mae parser yr erthygl wedi'i wella, nawr mae'n dychwelyd y canolbwyntiau y mae'r erthygl yn perthyn iddynt, yn ogystal â llysenw'r awdur a'i sgôr (gellir gwneud llawer o bethau diddorol yma hefyd, ond bydd hynny'n dod yn nes ymlaen). Mae'r data'n cael ei gadw mewn ffeil csv sy'n edrych yn debyg i hyn:
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
...
Byddwn yn derbyn rhestr o brif ganolbwyntiau thematig y safle.
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)
Mae'r swyddogaeth find_between a'r dosbarth Str yn dewis llinyn rhwng dau dag, defnyddiais nhw yn gynharach. Mae canolbwyntiau thematig wedi'u marcio â "*" fel y gellir eu hamlygu'n hawdd, a gallwch hefyd ddadwneud y llinellau cyfatebol i gael adrannau o gategorïau eraill.
Mae allbwn swyddogaeth get_hubs yn rhestr eithaf trawiadol, yr ydym yn ei chadw fel geiriadur. Rwy’n cyflwyno’r rhestr yn ei chyfanrwydd yn benodol er mwyn i chi allu amcangyfrif ei chyfaint.
Cadwyd y canolbwyntiau oedd yn weddill yn yr un modd. Nawr mae'n hawdd ysgrifennu swyddogaeth sy'n dychwelyd y canlyniad p'un a yw'r erthygl yn perthyn i geektimes neu ganolbwynt proffil.
Rydym yn arddangos nifer yr erthyglau cyhoeddedig gan ddefnyddio Matplotlib:
Rhannais yr erthyglau “geektimes” a “geektimes only” yn y siart, oherwydd Gall erthygl berthyn i'r ddwy adran ar yr un pryd (er enghraifft, “DIY” + “microcontrollers” + “C++”). Defnyddiais y dynodiad “profile” i amlygu erthyglau proffil ar y wefan, er efallai nad yw'r term Saesneg profile am hyn yn gwbl gywir.
Yn y rhan flaenorol fe wnaethom ofyn am yr “effaith amser geek” sy'n gysylltiedig â'r newid yn y rheolau talu ar gyfer erthyglau ar gyfer geeks sy'n cychwyn yr haf hwn. Gadewch i ni arddangos yr erthyglau geektimes ar wahân:
Mae'r canlyniad yn ddiddorol. Mae'r gymhareb fras o olygfeydd o erthyglau amser geek i'r cyfanswm rywle o gwmpas 1:5. Ond er bod cyfanswm nifer y golygfeydd yn amrywio’n sylweddol, roedd gwylio erthyglau “adloniant” yn parhau tua’r un lefel.
Gallwch hefyd sylwi bod cyfanswm nifer y golygfeydd o erthyglau yn yr adran “geektimes” yn dal i ostwng ar ôl newid y rheolau, ond “yn ôl y llygad”, dim mwy na 5% o gyfanswm y gwerthoedd.
Mae'n ddiddorol edrych ar nifer cyfartalog y safbwyntiau fesul erthygl:
Ar gyfer erthyglau “adloniant” mae tua 40% yn uwch na'r cyfartaledd. Mae'n debyg nad yw hyn yn syndod. Mae'r methiant ar ddechrau mis Ebrill yn aneglur i mi, efallai mai dyna ddigwyddodd, neu ei fod yn rhyw fath o gamgymeriad dosrannu, neu efallai bod un o'r awduron geektimes wedi mynd ar wyliau ;).
Gyda llaw, mae'r graff yn dangos dau gopa mwy amlwg yn nifer y golygfeydd o erthyglau - y Flwyddyn Newydd a gwyliau mis Mai.
Hybiau
Gadewch i ni symud ymlaen at y dadansoddiad o ganolbwyntiau a addawyd. Gadewch i ni restru'r 20 canolbwynt gorau yn ôl nifer y golygfeydd:
Yn syndod, y canolbwynt mwyaf poblogaidd o ran safbwyntiau oedd “Diogelwch Gwybodaeth”; roedd y 5 arweinydd gorau hefyd yn cynnwys “Rhaglenu” a “Gwyddoniaeth boblogaidd”.
Mae Antitop yn meddiannu Gtk a Coco.
Fe ddywedaf gyfrinach wrthych, gellir gweld y canolbwyntiau uchaf hefyd yma, er na ddangosir nifer y golygfeydd yno.
Rating
Ac yn olaf, y sgôr a addawyd. Gan ddefnyddio data dadansoddi hybiau, gallwn arddangos yr erthyglau mwyaf poblogaidd ar gyfer yr hybiau mwyaf poblogaidd ar gyfer y flwyddyn hon 2019.
Ac yn olaf, fel na fydd neb yn troseddu, byddaf yn rhoi sgôr y canolbwynt yr ymwelir ag ef leiaf “gtk”. O fewn blwyddyn fe'i cyhoeddwyd un Mae'r erthygl, sydd hefyd yn "awtomatig" yn meddiannu llinell gyntaf y sgôr.