Habrastatistics: mikaroka ireo faritra be mpitsidika indrindra amin'ny tranokala
Aho Habr.
В ampahany teo aloha Ny fifamoivoizana an'i Habr dia nodinihina araka ny mari-pamantarana lehibe - ny isan'ny lahatsoratra, ny fomba fijeriny ary ny naoty. Na izany aza, mbola tsy nodinihina ny olan'ny lazan'ireo fizarana tranonkala. Nanjary nahaliana ny mijery an'io amin'ny antsipiriany bebe kokoa ary mahita ny toerana malaza sy tsy malaza indrindra. Farany, hojereko amin'ny antsipiriany bebe kokoa ny fiantraikan'ny geektimes, mifarana amin'ny fifantenana vaovao amin'ireo lahatsoratra tsara indrindra mifototra amin'ny filaharana vaovao.
Ho an'ireo izay liana amin'ny zava-nitranga dia ambany ny tohiny.
Mamelà ahy hampahatsiahy anao indray fa ny antontan'isa sy ny naoty dia tsy ofisialy, tsy manana fampahalalana anatiny aho. Tsy azo antoka koa fa tsy nanao hadisoana tany ho any aho na tsy nahita zavatra. Na izany aza, heveriko fa nahaliana izany. Hanomboka amin'ny kaody aloha isika; ireo izay tsy liana amin'izany dia afaka mandingana ny fizarana voalohany.
Fanangonana angona
Ao amin'ny dikan-teny voalohany amin'ny parser, ny isan'ny fijery, ny fanehoan-kevitra ary ny naoty lahatsoratra ihany no nodinihina. Efa tsara izany, saingy tsy mamela anao hanao fanontaniana sarotra kokoa. Fotoana handinihana ireo fizarana lohahevitra amin'ny tranokala izany dia ahafahanao manao fikarohana mahaliana, ohatra, jereo ny fiovan'ny lazan'ny fizarana "C ++" nandritra ny taona maro.
Nohatsaraina ny mpizara lahatsoratra, izao dia mamerina ny hub misy ny lahatsoratra, ary koa ny anaram-bositra ny mpanoratra sy ny naoty (betsaka ny zavatra mahaliana azo atao eto, fa ho avy any aoriana). Ny angon-drakitra dia voatahiry ao anaty rakitra csv izay toa izao:
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
...
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)
Ny asa find_between sy ny kilasy Str dia misafidy tady eo anelanelan'ny marika roa, nampiasa azy ireo aho aloha. Voamarika amin'ny "*" ny foiben-tematika mba ho mora asongadina, ary azonao atao koa ny manaisotra ny tsipika mifanaraka amin'izany mba hahazoana fizarana amin'ny sokajy hafa.
Ny vokatra avy amin'ny asa get_hubs dia lisitra manaitra, izay tehirizinay ho rakibolana. Atolotro manokana ny lisitra manontolo mba hahafahanao manombana ny habeny.
Ny habaka sisa tavela dia voatahiry toy izany koa. Ankehitriny dia mora ny manoratra asa iray izay mamerina ny valiny na an'ny geektimes ny lahatsoratra na amin'ny habaka mombamomba azy.
Asehoy ny isan'ny lahatsoratra navoaka mampiasa Matplotlib:
Nozaraiko tao amin'ny tabilao ny lahatsoratra "geektimes" sy "geektimes only", satria Ny lahatsoratra dia mety ho an'ny fizarana roa miaraka (ohatra, "DIY" + "microcontrollers" + "C++"). Nampiasa ny anarana hoe “profile” aho mba hanasongadinana ireo lahatsoratra momba ny mombamomba ao amin'ilay tranokala, na dia mety tsy marina tanteraka aza ny teny anglisy momba izany.
Tao amin'ny ampahany teo aloha dia nanontany momba ny "vokatry ny geektimes" mifandraika amin'ny fiovan'ny fitsipiky ny fandoavam-bola ho an'ny lahatsoratra momba ny geektimes izahay manomboka amin'ity fahavaratra ity. Andao haseho mitokana ny lahatsoratra geektimes:
Mahaliana ny vokany. Manodidina ny 1:5 eo ho eo ny tahan'ny fijerena lahatsoratra momba ny geektimes amin'ny fitambarany. Saingy na dia niovaova be aza ny fitambaran'ny isan'ny mpijery, ny fijerena ireo lahatsoratra “fialam-boly” dia nitovy ihany.
Azonao atao ihany koa ny manamarika fa ny totalin'ny fijerena lahatsoratra ao amin'ny fizarana "geektimes" dia mbola nihena taorian'ny fanovana ny fitsipika, fa "amin'ny maso", tsy mihoatra ny 5% amin'ny totalin'ny sanda.
Mahaliana ny mijery ny salan'isa isaky ny lahatsoratra:
Ho an'ny lahatsoratra "fialam-boly" dia eo amin'ny 40% eo ho eo ambonin'ny salan'isa. Tsy mahagaga angamba izany. Ny tsy fahombiazana tamin'ny fiandohan'ny volana aprily dia tsy mazava amiko, mety ho izay no nitranga, na karazana fahadisoam-panantenana, na angamba iray amin'ireo mpanoratra geektimes nandeha vakansy ;).
Teny an-dalana, ny tabilao dia mampiseho tampon'isa roa miharihary kokoa amin'ny isan'ny fomba fijery lahatsoratra - ny Taom-baovao sy ny fetin'ny Mey.
Ary farany, mba tsy hisy ho tafintohina, dia homeko ny naotin'ny hub "gtk" kely indrindra notsidihina. Tao anatin'ny herintaona no navoaka одна ny lahatsoratra, izay "ho azy" ihany koa dia mitana ny andalana voalohany amin'ny naoty.