Mar a pharsáil mé Habr, cuid 1: treochtaí

Nuair a bhí Olivier na Bliana Nua críochnaithe, ní raibh aon rud le déanamh agam, agus chinn mé na hailt go léir ó Habrahabr (agus ardáin ghaolmhara) a íoslódáil chuig mo ríomhaire agus a iniúchadh.

Bhí roinnt scéalta suimiúla ann. Is é an chéad cheann acu ná formáid agus topaicí na n-alt a fhorbairt thar an 12 bhliain ó bhí an suíomh ann. Mar shampla, tá dinimic roinnt topaicí sách táscach. Leanúint - faoin gearrtha.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Próiseas parsála

Chun tuiscint a fháil ar conas a d'fhorbair Habr, bhí sé riachtanach dul tríd a chuid alt go léir agus meiteaisnéis a bhaint astu (dátaí, mar shampla). Bhí an seachbhóthar éasca, mar gheall ar naisc le gach alt breathnú cosúil le "habrahabr.ru/post/337722/", agus na huimhreacha tugtha go docht in ord. Ós eol dom go bhfuil uimhir beagán níos lú ná 350 míle ag an bpost deireanach, chuaigh mé díreach tríd an aitheantas doiciméad go léir a d'fhéadfadh a bheith i lúb (cód Python):

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

Feidhm download_document déanann sé iarracht an leathanach a luchtú leis an aitheantas comhfhreagrach agus déanann sé iarracht faisnéis bhríoch a bhaint as an struchtúr 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)

Sa phróiseas parsála, fuair mé amach roinnt rudaí nua.

Gcéad dul síos, deir siad go bhfuil a chruthú níos mó próisis ná mar atá croíthe sa phróiseálaí useless. Ach i mo chás, d'éirigh sé amach nach é an próiseálaí an acmhainn teorannaithe, ach an líonra, agus oibríonn 100 próiseas amach níos tapúla ná 4 nó, abair, 20.

Ar an dara dul síos, i roinnt postálacha bhí teaglaim de charachtair speisialta - mar shampla, eiphemisí cosúil le "%&#@". Iompaigh sé amach go html.parser, a d'úsáid mé ar dtús, imoibríonn leis an meascán &# painfully, ag smaoineamh air mar thús an eintitis html. Bhí mé ag dul a dhéanamh cheana féin draíocht dubh, ach mhol an fóram gur féidir leat a athrú ach an parsálaí.

Ar an tríú dul síos, d'éirigh liom gach foilseachán a dhíluchtú, ach amháin trí cinn. Scriosadh láithreach le m'fhrithvíreas doiciméid dar uimhreacha 65927, 162075, agus 275987. Is ailt iad seo, faoi seach, faoi shlabhra javascript a íoslódálann pdf mailíseach, ransomware SMS i bhfoirm sraith breiseán brabhsálaí, agus an suíomh CrashSafari.com a sheolann iPhones isteach in atosaigh. Antivirus aimsigh alt eile níos déanaí, le linn scanadh córais: phost 338586 faoi scripteanna ar an suíomh gréasáin siopa peataí a úsáideann próiseálaí an úsáideora chun cryptocurrency mianach. Mar sin is féidir linn a mheas go bhfuil obair an antivirus sách leordhóthanach.

"Beo" earraí iompaigh amach a bheith ach leath den uasmhéid féideartha - 166307 píosaí. Maidir leis an gcuid eile, tugann Habr roghanna "tá an leathanach as dáta, tá sé scriosta nó ní raibh sé ann ar chor ar bith." Bhuel, is féidir aon rud a tharlóidh.

Lean obair theicniúil uaslódáil na n-alt: mar shampla, b'éigean dátaí foilsithe a thiontú ón bhformáid "'21 Nollaig 2006 ag 10:47 am" go dtí an caighdeán datetime, agus tuairimí "12,8k" - i 12800. Ag an gcéim seo, d'éirigh cúpla eachtra eile amach. Baineann an ceann is greannmhaire le comhaireamh vótaí agus cineálacha sonraí: bhí ró-shreabhadh slánuimhir ag roinnt seanphoist agus fuarthas 65535 vóta an ceann.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Mar thoradh air sin, ghlac téacsanna na n-alt (gan pictiúir) dom 1.5 ghigibheart, tuairimí le meta-fhaisnéis - 3 eile, agus thart ar céad meigeavata - meta-eolas faoi ailt. Is féidir é seo a choinneáil go hiomlán i RAM, rud a bhí iontas taitneamhach dom.

Chuir mé tús le hanailís na n-alt ní ó na téacsanna féin, ach ó mheitifhaisnéis: dátaí, clibeanna, moil, radharcanna agus rudaí is maith liom. Iompaigh sé amach go bhféadfadh sí a insint go leor.

Treochtaí Forbartha Habrahabr

Tá ailt ar an suíomh foilsithe ó 2006; is déine - i 2008-2016.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Níl sé chomh furasta a mheas cé chomh gníomhach agus a léadh na hailt seo ag amanna éagsúla. Fuair ​​téacsanna ó 2012 agus níos óige níos mó tuairimí agus rátálacha, ach tá níos mó tuairimí agus leabharmharcanna ag téacsanna níos nuaí. Níor éirigh leis na méadrachtaí seo ach aon uair amháin, in 2015 (le leath). B’fhéidir, agus géarchéim eacnamaíoch agus pholaitiúil ann, go bhfuil aird na léitheoirí tar éis bogadh ó bhlaganna TF go ceisteanna níos measa.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Chomh maith leis na hailt féin, d'íoslódáil mé níos mó tuairimí chucu. Bhí 6 mhilliún trácht ann, áfach, cuireadh cosc ​​ar 240 míle díobh ("eitil Deaglán isteach agus d'fhoilsigh sé an inscríbhinn seo anseo"). Gné úsáideach na dtuairimí is ea go bhfuil stampa ama acu. Trí staidéar a dhéanamh ar am na dtuairimí, is féidir leat a thuiscint go garbh nuair a léitear ailt ar chor ar bith.

D’éirigh sé amach go bhfuil an chuid is mó de na hailt scríofa agus tráchtaireacht áit éigin ó 10 am go 20 pm, i.e. ar lá oibre tipiciúil Moscó. D’fhéadfadh go gciallódh sé seo go léitear Habr chun críocha gairmiúla, agus gur bealach maith é seo chun moille a chur ar an obair. Dála an scéil, tá an dáileadh seo ar an am den lá cobhsaí ó bhunús Habr go dtí an lá atá inniu ann.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Mar sin féin, ní hé an príomhbhuntáiste a bhaineann le stampa ama tráchta ná an t-am den lá, ach fad "saol gníomhach" an ailt. Ríomh mé conas a dhéantar an t-am a dháileadh ó fhoilsiú an ailt go dtí a thuairim. Iompaigh sé amach go anois a thagann an trácht airmheán (líne glas) i thart ar 20 uair an chloig, i.e. ar an gcéad lá tar éis a fhoilsithe, ar an meán, fágtar beagán níos mó ná leath de na tráchtanna ar fad ar an alt. Agus i dhá lá fágann siad 75% de na tuairimí go léir. Ag an am céanna, léadh ailt níos luaithe fiú níos tapúla - mar shampla, i 2010, tháinig leath de na tuairimí sa chéad 6 uair an chloig.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Chuir sé iontas orm gur mhéadaigh tuairimí: tá meánlíon na gcarachtar i dtrácht tráchta beagnach faoi dhó thar shaolré Habr!

Mar a pharsáil mé Habr, cuid 1: treochtaí

Is ionann aiseolas níos éasca ná tuairimí. Murab ionann agus go leor acmhainní eile, ar Habré is féidir leat a chur ní hamháin buntáistí, ach freisin míbhuntáistí. Mar sin féin, ní úsáideann léitheoirí an deis dheireanach chomh minic sin: is é an sciar reatha de na rudaí nach dtaitníonn leo ná thart ar 15% de na vótaí go léir a chaitear. Bhí níos mó, ach le himeacht ama, tá léitheoirí éirithe níos cineálta.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Tá na téacsanna féin tar éis athrú le himeacht ama. Mar shampla, ní stopann fad tipiciúil an téacs ag fás go seasta ó seoladh an tsuímh, in ainneoin na géarchéimeanna. Le deich mbliana anuas, tá téacsanna beagnach deich n-uaire níos faide!

Mar a pharsáil mé Habr, cuid 1: treochtaí

Tháinig athrú freisin ar stíl na dtéacsanna (go dtí an chéad mheastachán). Le linn na gcéad bhlianta de shaol Habr, mar shampla, mhéadaigh sciar na gcód agus na n-uimhreacha i dtéacsanna:

Mar a pharsáil mé Habr, cuid 1: treochtaí

Tar éis dom dinimic fhoriomlán an láithreáin a thuiscint, chinn mé a thomhas conas a d'athraigh an tóir a bhí ar ábhair éagsúla. Is féidir topaicí a roghnú go huathoibríoch ó théacsanna, ach ar dtús, ní féidir leat an roth a athchruthú, ach úsáid a bhaint as clibeanna réamhdhéanta atá greamaithe ag údair gach ailt. Tá ceithre threocht tipiciúil tarraingthe agam ar an gcairt. Bhí an téama "Google" chun tosaigh ar dtús (b'fhéidir mar gheall ar Sinsearach go príomha), ach tá sé ag cailleadh meáchain thar na blianta. Is ábhar móréilimh é Javascript agus leanann sé ag fás go mall, ach tá tús tapa ag baint le foghlaim meaisínithe ach le blianta beaga anuas. Ar an láimh eile, d'fhan Linux chomh hábhartha céanna le deich mbliana anuas.

Mar a pharsáil mé Habr, cuid 1: treochtaí

Ar ndóigh, chuir mé spéis sna hábhair a mheallann níos mó gníomhaíochta léitheoirí. Ríomh mé an líon meánach tuairimí, vótaí agus tuairimí i ngach topaic. Seo an méid a tharla:

  • Na hábhair is mó a bhreathnaítear orthu: arduino, dearadh gréasáin, forbairt gréasáin, achoimre, naisc, css, html, html5, nginx, algartaim.
  • Na hábhair is mó "Thaitin": vkontakte, greann, jquery, ceoldráma, c, html, forbairt gréasáin, html5, css, dearadh gréasáin.
  • Na hábhair is mó a pléadh: ceoldráma, skype, neamhspleácha, vkontakte, ubuntu, obair, nokia, nginx, arduino, firefox.

Dála an scéil, ós rud é go bhfuil mé ag comparáid idir ábhair, is féidir leat iad a rangú de réir minicíochta (agus na torthaí a chur i gcomparáid le alt den chineál céanna ó 2013).

  • Le blianta fada Habr a bheith ann, is iad na clibeanna is coitianta (in ord íslitheach) ná google, android, javascript, microsoft, linux, php, apple, java, python, ríomhchlárú, tosaithe, forbairt, ios, tosaithe, líonraí sóisialta
  • In 2017, ba iad na cinn ba choitianta ná javascript, python, java, android, forbairt, linux, c ++, ríomhchlárú, php, c#, ios, foghlaim meaisín, slándáil faisnéise, microsoft, react

Nuair a dhéantar comparáid idir na rátálacha seo, is féidir aird a thabhairt, mar shampla, ar mháirseáil buaiteach Python agus ar dhul in éag php, nó ar "luí na gréine" topaicí tosaithe agus ardú na foghlama meaisín.

Níl dathú téamach chomh soiléir ar gach clib ar Habré. Mar shampla, seo dosaen clibeanna nár tháinig le chéile ach uair amháin, ach a raibh cuma greannmhar ormsa. Mar sin: "is é an smaoineamh fórsa tiomána an dul chun cinn", "tosaithe ó íomhá diosca flapach", "Iowa State", "dráma", "superalesh", "inneall gaile", "rudaí le déanamh ar an Satharn", "Tá mé. sionnach i grinder feola", "a d'éirigh sé amach mar i gcónaí", "ní raibh muid in ann teacht suas le clibeanna greannmhar". Chun ábhar earraí den sórt sin a chinneadh, ní leor clibeanna - beidh ort samhaltú téamach a dhéanamh ar théacsanna na n-alt.

Beidh anailís níos mionsonraithe ar ábhar na n-alt sa chéad phostáil eile. Ar dtús, táim chun samhail a thógáil a thuar líon na n-amharc ar na leathanaigh le haghaidh alt bunaithe ar a ábhar. Ar an dara dul síos, ba mhaith liom an líonra neural a mhúineadh chun téacsanna a ghiniúint sa stíl chéanna le húdair Habr. Mar sin liostáil 🙂

PS Agus seo é an beeped tacar sonraí.

Foinse: will.com

Add a comment