Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Markii Olivier-ka Sannadka Cusub uu dhammaaday, ma jirin wax aan sameeyo, waxaanan go'aansaday inaan ka soo dejiyo dhammaan maqaallada Habrahabr (iyo goobaha la xidhiidha) kumbuyuutarkayga oo aan sahamiyo.

Dhowr sheeko oo xiisa leh ayaa jiray. Midda ugu horreysa ayaa ah horumarinta qaabka iyo mowduucyada maqaallada 12-kii sano ee goobta ay jirtay. Tusaale ahaan, dhaq-dhaqaaqa mawduucyada qaarkood waa wax muujinaya. Sii wadida - hoos goynta.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Habka falanqaynta

Si loo fahmo sida Habr u horumaray, waxa lagama maarmaan noqotay in la dhex maro dhammaan maqaalladiisa oo aan ka soo saarno xog-wareedka (tusaale ahaan, taariikhaha). Meesha la dhaafi karo way fududahay, sababtoo ah isku xirka maqaallada oo dhan waxay u egyihiin "habrahabr.ru/post/337722/", lambaradana si adag ayaa loo bixiyaa. Anigoo og in boostada ugu dambeysa ay leedahay tiro wax yar ka yar 350 kun, waxaan kaliya dhex maray dhammaan aqoonsiga dukumeentiga suurtagalka ah ee loop (Python code):

import numpy as np
from multiprocessing import Pool
with Pool(100) as p:
    docs = p.map(download_document, np.arange(350000))

function download_document wuxuu isku dayaa inuu ku shubo bogga aqoonsiga u dhigma oo isku daya inuu ka soo saaro macluumaad macno leh qaab dhismeedka html.

import requests
from bs4 import BeautifulSoup

def download_document(pid):
    """ Download and process a Habr document and its comments """
    # выгрузка документа
    r = requests.get('https://habrahabr.ru/post/' +str(pid) + '/')
    # парсинг документа
    soup = BeautifulSoup(r.text, 'html5lib') # instead of html.parser
    doc = {}
    doc['id'] = pid
    if not soup.find("span", {"class": "post__title-text"}):
        # такое бывает, если статья не существовала или удалена
        doc['status'] = 'title_not_found'
    else:
        doc['status'] = 'ok'
        doc['title'] = soup.find("span", {"class": "post__title-text"}).text
        doc['text'] = soup.find("div", {"class": "post__text"}).text
        doc['time'] = soup.find("span", {"class": "post__time"}).text
        # create other fields: hubs, tags, views, comments, votes, etc.
        # ...
    # сохранение результата в отдельный файл
    fname = r'files/' + str(pid) + '.pkl'
    with open(fname, 'wb') as f:
        pickle.dump(doc, f)

Intii aan ku guda jiray falanqaynta, waxaan ogaaday dhowr waxyaalood oo cusub.

Marka hore, waxay yiraahdaan abuurista habab ka badan inta ay jiraan koofiyadaha ku jira processor-ka waa wax aan faa'iido lahayn. Laakiin xaaladdeyda, waxay soo baxday in kheyraadka xaddidan uusan ahayn processor-ka, laakiin shabakadda, iyo 100 geeddi-socod ayaa ka dhaqso badan 4 ama, dheh, 20.

Marka labaad, qoraallada qaar waxaa jiray isku-dar ah jilayaal gaar ah - tusaale ahaan, eray-bixinno sida "%& # @". Waxaa soo baxday in html.parser, oo aan marka hore isticmaalay, waxay ka falcelisaa isku darka &# si xanuun badan, iyadoo la tixgelinayo bilawga cidda html. Waxaan horeyba u socday inaan sameeyo sixir madow, laakiin madashu waxay soo jeedisay inaad kaliya bedeli karto parser-ka.

Marka seddexaad, waxaan ku guuleystey in aan soo dejiyo dhammaan daabacadaha, marka laga reebo saddex. Dukumeentiyada lambarkoodu yahay 65927, 162075, iyo 275987 waxaa isla markiiba tirtiray fayraskayga. Kuwani waa maqaallo, siday u kala horreeyaan, oo ku saabsan silsilad javascript ah oo soo dejisa pdf xaasidnimo ah, ransomware SMS oo ah qaab isku xidhka browserka ah, iyo goobta CrashSafari.com oo u soo dirtay iPhones dib-u-bilaabid. Antivirus-ku wuxuu helay maqaal kale ka dib, intii lagu jiray iskaanka nidaamka: boostada 338586 oo ku saabsan qoraallada ku yaal bogga dukaanka xayawaanka ee isticmaala processor-ka isticmaalaha si ay u qodaan cryptocurrency. Markaa waxaan ka fiirsan karnaa shaqada antivirus waa mid ku filan.

Maqaallada "Live" waxay noqdeen nus ka mid ah ugu badnaan - 166307 xabbo. Inta soo hartay, Habr waxay ku siinaysaa doorashooyin "boggu waa duugoobay, waa la tirtiray ama maba jirin." Hagaag, wax walba way dhici karaan.

Soo dejinta maqaallada waxaa raacay shaqo farsamo: tusaale ahaan, taariikhaha daabacaadda waxay ahayd in laga beddelo qaabka "'21 December 2006 saacadu markay tahay 10:47 subaxnimo" loona beddelo heerka caadiga ah. datetime, iyo "12,8k" views - in 12800. Marxaladdan, dhowr dhacdo oo kale ayaa soo baxay. Midka ugu qosolka badan waa inuu sameeyo tirinta codadka iyo noocyada xogta: qaar ka mid ah qoraalada hore waxay lahaayeen qulqul xad dhaaf ah waxayna heleen 65535 cod midkiiba.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Natiijo ahaan, qoraallada maqaallada (oo aan sawir lahayn) waxay igu qaadeen 1.5 gigabytes, faallooyin leh macluumaad-macluumaad - 3 kale, iyo qiyaastii boqol megabytes - macluumaadka meta-macluumaad ku saabsan maqaallada. Tan waxaa si buuxda loogu hayn karaa RAM-ka, taasoo igu noqotay lama filaan igu noqotay.

Waxaan ka bilaabay falanqaynta maqaallada ma aha qoraallada laftooda, laakiin waxaan ka bilaabay macluumaadka meta: taariikhaha, tags, hubs, views iyo kuwa jecel. Waxaa soo baxday in ay wax badan sheegi karto.

Horumarka Habrahabr

Maqaallada goobta ayaa la daabacay ilaa 2006; ugu xoogan - 2008-2016.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Sida firfircoon ee maqaalladan loo akhriyay waqtiyo kala duwan ma fududa in la qiimeeyo. Qoraallada 2012 iyo kuwa ka yar ayaa helay faallooyin iyo qiimeyn badan, laakiin qoraallada cusub waxay leeyihiin aragtiyo iyo calaamado badan. Halbeegyadani waxay u dhaqmeen si la mid ah (kalabar) hal mar kaliya, 2015kii. Waxaa laga yaabaa, xaalad dhaqaale iyo mid siyaasadeed, dareenka akhristayaasha ayaa ka soo wareegay barta IT-ga arrimo aad u xanuun badan.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Marka laga soo tago maqaallada laftooda, waxaan soo dejiyay faallooyin badan iyaga. Waxaa jiray 6 milyan oo faallooyin ah, si kastaba ha ahaatee, 240 kun oo iyaga ka mid ah ayaa la mamnuucay ("UFO ayaa soo duulay oo ku daabacday qoraalkan halkan"). Hantida faa'iidada leh ee faallooyinka ayaa ah inay haystaan ​​shaambada wakhtiga. Markaad barato wakhtiga faallooyinka, waxaad qiyaas ahaan fahmi kartaa marka maqaallada la akhriyo gabi ahaanba.

Waxaa soo baxday in maqaallada intooda badan lagu qoro lagana faalloodo meel 10 subaxnimo ilaa 20 galabnimo, i.e. maalinta shaqada ee Moscow caadiga ah. Tani waxay la macno tahay in Habr loo akhriyo ujeedooyin xirfadeed, iyo in tani ay tahay hab wanaagsan oo dib loogu dhigo shaqada. Sida la wada ogsoon yahay, qaybintan wakhtiga maalintu waa mid deggan laga soo bilaabo aasaaskii Habr ilaa maantadan la joogo.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Si kastaba ha ahaatee, faa'iidada ugu weyn ee wakhtiyada faallooyinka maaha wakhtiga maalinta, laakiin muddada "nolosha firfircoon" ee maqaalka. Waxaan xisaabiyey sida wakhtiga loo qaybiyo laga soo bilaabo daabacaadda maqaalka ilaa faaladiisa. Waxaa soo baxday in hadda faallooyinka dhexdhexaadka ah (khadka cagaaran) uu yimaado qiyaastii 20 saacadood, i.e. maalinta ugu horeysa ka dib daabacaadda, celcelis ahaan, in ka badan kala badh dhammaan faallooyinka maqaalka ayaa laga tagay. Laba maalmood gudahoodna waxay ka tagaan 75% dhammaan faallooyinka. Isla mar ahaantaana, maqaallo hore ayaa loo akhriyay xitaa si dhakhso ah - tusaale ahaan, 2010, kala badh faallooyinka ayaa yimid 6 saacadood ee ugu horreeya.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Waxaa la yaab igu noqotay in faallooyinka ay dheereeyeen: celceliska tirada jilayaasha faallooyinka ayaa ku dhawaad ​​labanlaabmay noloshii Habr!

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Faallooyinka ka fudud faallooyinka waa codadka. Si ka duwan ilo kale oo badan, Habré waxaad ku dhejin kartaa pluses oo keliya, laakiin sidoo kale minuses. Si kastaba ha ahaatee, akhristayaasha ma isticmaalaan fursada ugu dambeysa marar badan: saamiga hadda ee nacaybka ayaa ah ilaa 15% dhammaan codadka la dhiibtay. Waxaa jiri jiray wax badan, laakiin waqti ka dib, akhristayaasha waxay noqdeen kuwo naxariis badan.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Qoraallada laftooda ayaa isbeddelay muddo ka dib. Tusaale ahaan, dhererka caadiga ah ee qoraalku kama joogsado koritaanka joogtada ah laga bilaabo bilawga goobta, inkastoo ay jiraan dhibaatooyin. Toban sano gudahood, qoraalladu waxay noqdeen ku dhawaad ​​toban jeer!

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Qaabka qoraallada (ilaa qiyaasida koowaad) ayaa sidoo kale isbeddelay. Intii lagu jiray sannadihii ugu horreeyay ee jiritaanka Habr, tusaale ahaan, saamiga koodka iyo tirooyinka qoraallada ayaa kordhay:

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Ka dib markii aan fahmay dhaqdhaqaaqa guud ee goobta, waxaan go'aansaday inaan cabbiro sida caannimada mawduucyada kala duwan ay isu beddeleen. Mawduucyada si toos ah ayaa looga dooran karaa qoraallada, laakiin bilowga, ma dib u soo celin kartid giraangiraha, laakiin isticmaal tags diyaarsan oo ay ku dhejiyeen qorayaasha maqaal kasta. Waxaan shaxda ku sawiray afar isbeddel oo caadi ah. Mawduuca "Google" ayaa markii hore gacanta ku hayay (laga yaabaa in ay ugu wacan tahay SEO), laakiin waa uu luminayay miisaanka sannadihii la soo dhaafay. Javascript wuxuu ahaa mawduuc caan ah oo si tartiib ah u koraya, laakiin barashada mashiinka ayaa bilaabay inay si degdeg ah caan u hesho sannadihii ugu dambeeyay. Linux, dhanka kale, si siman ayay u khusaysay tobankii sano ee la soo dhaafay.

Sida aan u kala saaray Habr, qaybta 1: isbeddellada

Dabcan, waxaan xiiseeyay mawduucyada soo jiidanaya hawlo badan oo akhristaha ah. Waxaan xisaabiyay tirada dhexdhexaadka ah ee aragtida, codadka iyo faallooyinka mawduuc kasta. Waa kan waxa dhacay:

  • Mawduucyada inta badan la daawado: arduino, naqshadaynta shabakada, horumarinta shabakada, dheefshiidka, isku xidhka, css, html, html5, nginx, algorithms.
  • Mawduucyada "jecel" ee ugu badan: vkontakte, humor, jquery, opera, c, html, horumarinta shabakada, html5, css, naqshadeynta shabakada.
  • Mawduucyada aadka looga hadlay: opera, skype, freelance, vkontakte, ubuntu, work, nokia, nginx, arduino, firefox.

Jid ahaan, maadaama aan mawduucyada isbarbar dhigayo, waxaad u kala sarraysiin kartaa soo noqnoqoshada (oo barbar dhig natiijooyinka maqaal la mid ah 2013).

  • Dhammaan sannadihii uu jiray Habr, calaamadaha ugu caansan (sida u soo degaysa) waa google, android, Javascript, microsoft, linux, php, apple, java, python, programming, startups, development, ios, startup, social networks.
  • 2017, kuwa ugu caansan waa Javascript, Python, Java, android, development, linux, c++, programming, php, c#, ios, barashada mashiinka, amniga macluumaadka, Microsoft, react

Marka la barbardhigo qiimeyntan, qofku wuxuu fiiro gaar ah u yeelan karaa, tusaale ahaan, socodka guusha ee Python iyo baabi'inta php, ama "qorrax dhaca" mawduucyada bilowga iyo kor u kaca barashada mashiinka.

Dhammaan summada Habré ma laha midab mawduuc oo cad. Tusaale ahaan, halkan waxaa ku yaal darsin tags oo kulmay hal mar oo kaliya, laakiin kaliya waxay iigu muuqdeen kuwo qosol leh. Marka: "fikradu waa xoogga horumarka", "boot ka sawir floppy ah", "Iowa State", "riwaayad", "superalesh", "mashiinka uumiga", "waxyaabaha la sameeyo Sabtida", "Waxaan haystaa dawaco ku jirta makiinadaha hilibka, "waxay u soo baxday sidii had iyo jeer", "Ma aanan la imaan karin calaamado qosol leh". Si loo go'aamiyo mawduuca maqaalladan oo kale, tags kuma filna - waa inaad sameysaa qaabaynta mawduucyada qoraallada maqaallada.

Falanqeyn aad u faahfaahsan oo ku saabsan nuxurka maqaallada ayaa noqon doona qoraalka soo socda. Marka hore, waxaan dhisi doonaa qaab saadaaliya tirada bogag ee maqaalka oo ku saleysan nuxurkiisa. Marka labaad, waxaan rabaa inaan baro shabakada neerfaha si ay u soo saaraan qoraallada qaab la mid ah qorayaasha Habr. Markaa subscribe 🙂

PS Oo halkan waa dhawaaqii dataset.

Source: www.habr.com

Add a comment