Habrastatistics: na-enyocha akụkụ saịtị kachasị na nke kacha nta
Hey Habr.
В akụkụ gara aga A na-enyocha okporo ụzọ Habr dị ka ihe ndị bụ isi - ọnụ ọgụgụ nke isiokwu, echiche ha na ọkwa ha. Agbanyeghị, okwu gbasara ewu ewu nke ngalaba saịtị ahụ ka enyochabeghị. Ọ ghọrọ ihe na-adọrọ mmasị ileba anya na nke a n'ụzọ zuru ezu ma chọta ebe ndị kasị ewu ewu na ndị na-enweghị mmasị. N'ikpeazụ, m ga-eleba anya na mmetụta geektimes n'ụzọ zuru ezu, na-ejedebe na nhọrọ ọhụrụ nke isiokwu kachasị mma dabere na ọkwa ọhụrụ.
Maka ndị nwere mmasị na ihe merenụ, ihe na-aga n'ihu dị n'okpuru ịkpụ.
Ka m chetara gị ọzọ na ọnụ ọgụgụ na ọkwa abụghị nke gọọmentị, enweghị m ozi ọ bụla. A naghịkwa ekwe nkwa na emehieghị m ebe ma ọ bụ ihe funahụrụ m. Ma, m na-eche na ọ tụgharịrị na-akpali. Anyị ga-ebu ụzọ malite koodu ahụ; ndị na-enweghị mmasị na nke a nwere ike ịgafe akụkụ nke mbụ.
Nchịkọta data
Na ụdị nke mbụ nke parser, naanị ọnụọgụ nlele, nkọwa na ọkwa akụkọ ka etinyere na akaụntụ. Nke a adịlarị mma, mana ọ naghị enye gị ohere ịme ajụjụ dị mgbagwoju anya. Ọ bụ oge iji nyochaa akụkụ isiokwu nke saịtị ahụ; nke a ga-enye gị ohere ịme nyocha na-adọrọ mmasị, dịka ọmụmaatụ, lee ka ewu ewu nke ngalaba "C ++" siri gbanwee kemgbe ọtụtụ afọ.
A na-emeziwanye ihe nchịkọta akụkọ ahụ, ugbu a ọ na-eweghachite hubs nke isiokwu ahụ bụ, yana aha njirimara onye edemede na ọkwa ya (ọtụtụ ihe na-adọrọ mmasị nwere ike ime ebe a kwa, ma nke ahụ ga-abịa mgbe e mesịrị). A na-echekwa data ahụ na faịlụ csv nke yiri nke a:
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
...
Anyị ga-enweta ndepụta nke isi isiokwu isiokwu nke saịtị.
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)
Find_between ọrụ na klaasị Str họrọ eriri n'etiti mkpado abụọ, ejiri m ha na mbụ. A na-eji "*" akara akara ngosi nke nwere ike ime ka ọ pụta ìhè n'ụzọ dị mfe, ma ị nwekwara ike mebie ahịrị ndị kwekọrọ iji nweta ngalaba nke edemede ndị ọzọ.
Nsonaazụ nke ọrụ get_hubs bụ ndepụta na-adọrọ mmasị, nke anyị na-echekwa dị ka akwụkwọ ọkọwa okwu. Ana m ewepụta ndepụta ahụ n'ụzọ zuru ezu ka ị nwee ike tụọ ụda olu ya.
M kewara isiokwu "geektimes" na "geektimes naanị" na chaatị ahụ, n'ihi na Edemede nwere ike ịbanye na ngalaba abụọ ahụ n'otu oge (dịka ọmụmaatụ, “DIY” + “microcontrollers” + “C ++”). Eji m nhọpụta "profaịlụ" pụta ìhè akụkọ profaịlụ na saịtị ahụ, n'agbanyeghị ma eleghị anya profaịlụ okwu Bekee maka nke a ezughị oke.
N'akụkụ nke gara aga anyị jụrụ banyere "mmetụta geektimes" metụtara mgbanwe nke iwu ịkwụ ụgwọ maka isiokwu maka geektimes malite n'oge okpomọkụ a. Ka anyị gosipụta akụkọ geektimes iche iche:
Ihe si na ya pụta na-adọrọ mmasị. Odika ihe nleba anya nke akụkọ geektimes na mkpokọta bụ ebe gburugburu 1:5. Mana ka ngụkọta ọnụ ọgụgụ nke echiche gbanwere n'ụzọ pụtara ìhè, nlele nke akụkọ “ntụrụndụ” ka nọ n'ihe dịka otu ọkwa.
Ị nwekwara ike ịchọpụta na ọnụ ọgụgụ nke echiche nke isiokwu dị na ngalaba "geektimes" ka dara mgbe ọ gbanwere iwu, ma "site na anya", ọ bụghị ihe karịrị 5% nke ngụkọta ụkpụrụ.
Ọ na-adọrọ mmasị ileba anya na nkezi ọnụọgụ nlele kwa edemede:
Maka akụkọ "ntụrụndụ" ọ bụ ihe dịka 40% karịa nkezi. Nke a eleghị anya ọ bụghị ihe ijuanya. Ọdịda na mmalite nke Eprel edoghị m anya, ma eleghị anya nke ahụ bụ ihe merenụ, ma ọ bụ na ọ bụ ụdị njehie ntule, ma ọ bụ ikekwe otu n'ime ndị edemede geektimes gara ezumike;).
Site n'ụzọ, eserese ahụ na-egosi elu abụọ a na-ahụ anya na ọnụ ọgụgụ nke echiche nke isiokwu - Afọ Ọhụrụ na ezumike May.
Ebe nchekwa
Ka anyị na-aga n'ihu na nkwa nyocha nke hubs. Ka anyị were ọnụ ọgụgụ nlele depụta ọdụ 20 kacha elu:
N'ikpeazụ, ka onye ọ bụla ghara iwe iwe, m ga-enye ọkwa nke ụlọ kacha nta eleta "gtk". N'ime otu afọ e bipụtara ya otu Edemede ahụ, nke nwekwara “na-akpaghị aka” na-ejide akara mbụ nke ọkwa ahụ.