Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - A.P.Hacker

Stran: [1] 2 3 ... 39
1
Nová témata / Re:JSON processor
« kdy: 05. 07. 2022, 21:03:34 »
Jako nechapu tento dnesni pristup - chci pouzit svuj pocitac, na zpracovani svych dat, ale nechci programovat. Tak si na to najmete nekoho, kdo programovat umi, ne? Taky nechcete po uklizecce v hotelu, aby vam delala jidlo nebo odvezla na letiste.

urcite bych si na zpracovani JSONu nenajal nekoho, kdo to chce delat v C.

Vsechno je otazka nalezeni kompromisu mezi pohodlim a vykonem. A pak se casto opomiji, jakym smerem se bude skalovat - v tomto oboru bych ocekaval miliony opakovani malo typu zprav, nez miliony ruznych typu zprav spis neopakovanych.

Namisto toho, aby to tazatel vyresil cilene - zpracovanim vlastnich souboru vlastnim zpusobem (uzitim maximalne jedne transportni knihovny), tak hleda zazracny meta nastroj, ktery magicky napravi to, co sam neumi. Ale holt takova univerzalita stoji podstatnou cast vykonu. Ve vysledku tedy vznikne priserne slozity proces, s desitkama zavislosti, zerouci nasobne vice prostredku a vyzadujici extra spravu az se to rozbije.. jen proto, aby jste zeditoval kus primitivne organizovaneho textaku :-)

Ale on chce ta data ukladat, indexovat a provadet nad nimi dotazy. To se bez databaze dela tezko, pokud nechcete vytvaret vlastni databazi. V tech zde zminovanych je stovky tisic clovekohodin vyvoje a miliony hodin provozu, pri kterem se odhali chyby.

Nechapu, kde chcete usetrit vykon pouzitm C. Vetsina parseru ve vyssich jazycich je napsana v C a silne optimalizovana. Po rozparsovani jsou to nejaka slovnikova data, v dynamickych jazycich nativni typ, dobre optimalizovany. Automaticky se internuji opakujici se retezce. Prace s textovymi retezci v C je nebezpecna a casto se pouzivaji neoptimalni postupy z hlediska mista/vykonu.

2
Nová témata / Re:JSON processor
« kdy: 05. 07. 2022, 18:18:29 »
Jako nechapu tento dnesni pristup - chci pouzit svuj pocitac, na zpracovani svych dat, ale nechci programovat. Tak si na to najmete nekoho, kdo programovat umi, ne? Taky nechcete po uklizecce v hotelu, aby vam delala jidlo nebo odvezla na letiste.

urcite bych si na zpracovani JSONu nenajal nekoho, kdo to chce delat v C.

3
Add puppeteer. Headless browser použiješ vtedy, ak sa potrebuješ dostať
za JS bránu, napr. za prihlasovacie okno. Pre ostatné prípady sa bežne
používajú http clienty. Python má httpx, ktorý zvládne aj async programy.

casto je samotny obsah generovany javascriptem, ruzne tabulky tahane ajaxem a podobne.

4
Ten kod se zasekne tak jako tak, na te nekonecne smycce.

volani asyncio.sleep bez await na nic neceka.

tezko rict proc to ze serveru nejde, muze souviset s blacklistovanymi serverovymi IP adresami.

Pokud jsi je zahltil requesty generovanymi tou nekonecnou smyckou bez cekani, je dobra sance, ze te zablokovali.

Ten tazatel na GH to spousti z nejake CI sluzby, tam je take dost velka sance blokace.

5
jak sem pochopil, tak asi nějak musím propojit asyncio + threading

nepochopil

Můžu se zeptat, jak bys udělal, aby to současně parsovalo třeba pět stránek současně bez použití threading?

Nějak pomocí asyncio.Queue? Jakože jedna stránka bude hotová, pošle signál (nebo jak se tomu říká) další a takhle prostě budou postupovat postupně kolem dokola?

Když sem vytvořil 5 tasks přes asyncio.create_task(), tak to parsovalo jen 1 stránku a ostatní měly smůlu. Jedině když sem udělal parse(data) a následně time.sleep(X), tak to po skončení funkce parse(data) skončilo na další task.

priklad

Kód: [Vybrat]
import asyncio
from pyppeteer import launch


async def get_title(browser, url):
    page = await browser.newPage()
    await page.goto(url)
    return await page.title()


async def get_titles(*urls):
    browser = await launch()
    titles = await asyncio.gather(
        *[asyncio.create_task(get_title(browser, url)) for url in urls]
    )
    await browser.close()
    return titles


print(asyncio.run(get_titles("https://example.com", "https://google.com")))

vypise ['Example Domain', 'Google']

6
jak sem pochopil, tak asi nějak musím propojit asyncio + threading

nepochopil

Můžu se zeptat, jak bys udělal, aby to současně parsovalo třeba pět stránek současně bez použití threading?

Nějak pomocí asyncio.Queue? Jakože jedna stránka bude hotová, pošle signál (nebo jak se tomu říká) další a takhle prostě budou postupovat postupně kolem dokola?

Když sem vytvořil 5 tasks přes asyncio.create_task(), tak to parsovalo jen 1 stránku a ostatní měly smůlu. Jedině když sem udělal parse(data) a následně time.sleep(X), tak to po skončení funkce parse(data) skončilo na další task.

Hele a Google Ti nefunguje? https://stackoverflow.com/questions/28492103/how-to-combine-python-asyncio-with-threads

on tohle nepotrebuje, to se pouziva, kdyz potrebujes v asyncio aplikaci blokujici volani. pyppeteer je plne neblokujici.

to co chce (vic tabu v jednom browseru) by slo i pomoci selenia a vlaken

7
jak sem pochopil, tak asi nějak musím propojit asyncio + threading

nepochopil

8
Mám jich spuštěných několik současně.

nekolik instanci pythonu nebo nekolik browseru? Ani jedno podle me neni treba, z jednoho skriptu jde otevrit nekolik url najednou v jednom browseru.

9
Pyppeteer

Opravdu je to rychlejší než Selenium + Chrome? O hodně?

v headless modu nejspis ano.

10
Vývoj / Re:AWK - sort array
« kdy: 11. 06. 2022, 16:22:10 »
OK, tohle bylo jen pro priklad. Potrebuji udelat sort pole ktere ma stovky milionu zaznamu, takze spousteni cehokoliv externiho je problem.

potom je prave lepsi pouzit externi trideni (sort), nenacitat to cele do pameti, nevytvaret tak velka asociativni pole v AWK

11
/dev/null / Re:První skutečná cenzura na českém internetu
« kdy: 05. 06. 2022, 21:20:58 »
Rovnez muj nazor je, ze nemale procento lidi tyhle konspiracni weby negativne ovlivnuji, vezmete si, ze 50% populace ma IQ nizsi nez 100, a jim nemusi byt hned jasne to, co je jasne vam. Viz napr. Sputnik News atp.

ciste logicky, bude clovek s tak pohrdavym pohledem na spoluobcany jako Vy, provadet cenzuru tak, aby byla v jejich nejlepsim zajmu?

ja proti cenzure v principu nic nemam, ale at o tom rozhoduji nase tajne sluzby, policie nebo armada (potom co se zbavi zradcu). Lide, kteri prosli bezpecnostni proverkou. Ne nejaka pochybna individua jako pornoherec Janda nebo Vy, kterym vubec nemusi jit o nase dobro.

12
/dev/null / Re:První skutečná cenzura na českém internetu
« kdy: 05. 06. 2022, 20:26:19 »
Jinak souhlasim s ostatnimi, ze jsme ve valce. Prave proto bychom nemeli nepriteli dovolit rozhodovat co je pravda a nepravda.

https://guadalajarageopolitics.com/2022/06/03/francis-boyle-we-are-in-a-war-against-the-scientific-elite-this-is-wwiii/

13
/dev/null / Re:První skutečná cenzura na českém internetu
« kdy: 05. 06. 2022, 20:07:10 »
alebo počas Covidu čo ľudia robili, a koľkých takto vlastne zabili.

podle vseho jim to nestacilo, tak spustili opici nestovice.

14
Vývoj / Re:Jaký jazyk bych se měl učit?
« kdy: 31. 05. 2022, 23:21:35 »
V cem je typescript tak skvely? Nejaka konkretni featura, ktera jinde neni?

15
Vývoj / Re:Jaký jazyk bych se měl učit?
« kdy: 30. 05. 2022, 21:31:52 »
Pro zacatek bych doporucoval JavaScript, ma i objektove rozsireni

co to znamena? Javascript je od zacatku plne objektovy, tzn. vse je objekt. Narozdil napriklad od Javy nebo C++, kde jsou vedle objektu i primitivni typy.

Stran: [1] 2 3 ... 39