Avatar uživatele
Zlatý

Program na vyhledání sekvence znaků

Potřebuju následující: Mám internetovou diskuzi kde každý uživatel píše pod svým jménem nějaké příspěvky, a já potřebuju vytáhnout jména všech uživatelů, v jejichž příspěvcích se objeví určitá sekvence znaků (v jednotlivých slovech), napříkad "http" a následně odfiltrovat jména uživatelů která jsou duplicitní.

Dokázal by někdo vytvořit takovej program? A pokud jo, jak moc je to složitý a jak dlouho by to trvalo?

Odpovědi:

Avatar uživatele
Pokročilý

No, jelikož nevíme o tvých stránkách z technického hlediska prakticky nic, tak těžko radit. Nevíme, jestli si děláš stránky sám, v čem, jak, nebo jestli využíváš služby nějaké další strany. Taky těžko říct, jak myslíš "odfiltrovat jména uživatelů, která jsou duplicitní", ale obvykle se věci podobného charakteru řeší PHP skriptem, java skriptem, popř. dalšími nástroji jako AJAX, různé frameworky apod.


Avatar uživatele
Bronzový

Zadarmo ti nikdo psát nebude!, ale poradím ti:

Pomocí PHP a MySQL (hádám že to jede na PHPBB) si načti všechny příspěvky do (nejlépe) pole následně si vytvoř regulérní výraz na to co potřebuješ (v tvém případě http) a pak porovnávej a do dalšího pole si např. ulož jméno uživatele a počet duplicit a pak podle podmínky si to pole vypiš.

- Zkušený člověk se znalostmi to dokáže za 30minut
- Začátečník bez znalostí (hledá v dokumentaci) to dokáže za 3 - 4 hodiny


Avatar uživatele
Pokročilý

Předpokládám, že myslíš z pohledu uživatele, nikoliv tvůrce stránky (to by bylo o dost jednodušší).

Celej problém bych rozdělil na dva kroky:
1. Stáhnout stránky pro offline analýzu (Wget by měl stačit)
2. Analyzovat obsah. V podstatě to je jednoduchej program pro toho, kdo umí regulární výrazy.

 

Diskuze k otázce

Avatar uživatele
Pokročilý

RedC22

Tak jsem si dal du práci a napsal jsem takovej program. Má to jen takovej drobnej háček - je to dost uživatelsky nepřívětivý (tj. musíš vymyslet regulární výraz, kterej ti ze stažených stránek vyzobe jména). Trochu jsem si s tím hrál a vytáhnul jsem pár uživatelských jmen zde z Odpovědí - http://pastebin.com/… (uměl by samozřejmě i vyfiltrovat jména, která splňují určitá kritéria)
Jestli chceš, můžu ti ho někam nahrát, ale bez základní znalosti regulárních výrazů se prostě neobejdeš. A hodí se i trochu vědět, co to je HTML.
Co to je reg. výraz.: http://www.regularnivyrazy.inf o/…

Avatar uživatele
Zlatý

bolak

Já to omrknu a kdyžtak se ještě zeptám :) nahraj mi to třeba na uložto. Díky moc.

Avatar uživatele
Pokročilý

RedC22

Přečti si ctime.txt.
http://uloz.to/…

Avatar uživatele
Zlatý

bolak

Jenom pro informaci, v žádným programovacím jazyku sem nikdy nedělal, takže na mě nevytahujte ty svý odborný zkraky jako PHP, MIT, BFLMPSVZ a podobně, není vám to nic platný :)

Já už jsem kdysi dávno něco podobnýho potřeboval, ale řešil sem to tenkrát tak, že sem zmáčknul v prohlížeči CTRL+F, tak sem si zadal sekvenci, a když mi to našlo shodu, tak sem najel na začátek odstavce a jméno přispěvatele si zkopíroval do excelu. Když jsem měl hotovo, tak sem dal akorát "seřadit sestupně" a duplicity sem viděl hned, protože byly hned pod sebou a nemusel jsem prohledávat každý jméno zvlášť v celým sloupci, jenže většinou to byla záležitost několika minut. Teď jde o o tisíce stran textu a tímhle způsobem se to řešit nedá, tak hledám nějakou automatiku.

Avatar uživatele
Pokročilý

RedC22

l564:
Jestliže by byl provozovatel on, nebylo by jednodušší sestavit správný sql dotaz? To je tak na 5 minut i s hledáním v dokumentaci, nemyslíš?

Avatar uživatele
Zlatý

bolak

Hele, asi takhle, co je to SQL? :))

Avatar uživatele
Pokročilý

RedC22

SQL je v podstatě jazyk pro komunikaci s databází (v databázi je všechno uložený). Kdybys měl přístu k databázi, stačí jí říct něco takovýho "select name from users where name like '%http%';" a ono ti to vypíše všechny uživatele, kteří ve jménu mají http. Jenže ty přítup k databázi nemáš, protože jseš tam jen uživatel, že?

Avatar uživatele
Zlatý

bolak

Já dokonce ani nejsem uživatel, pouze náhodný kolemjdoucí. :)

Avatar uživatele
Zlatý

bolak

odpomass: ty se vyznáš, v prohramování? nešlo by to provést čistě "textově"?

Z celé stránky se vytáhne text, uloží se do nějakého textového dokumentu a program by pak oddělil jednotlivé příspěvky od sebe. Každý příšpěvek v diskuzi totiž začíná stejným textem, a to "Jméno:". A pak už by to prohledávalo v jednotlivých odstavcích tu sekvenci znaků, a pokud by byl nález pozivitvní, vyhodilo by to jméno uživatele (text který se nachází slovy "Jméno:" a "Datum:" .

Přijde mi, že to nemůže bejt tak složitý. O něco podobnýho sem se totiž kdysi pokoušel v excelu, ale nešel nenašel jsem způsob jak oddělit odstavce od sebe, jako by to byly jednotlivé celky.

Avatar uživatele
Pokročilý

odpomass

No, tak to bych možná spíš viděla na nějakej plugin do prohlížeče, ale fakt nevim, k čemu ti to bude a proč ti nestačí CTRL+F...

Avatar uživatele
Zlatý

bolak

A existuje nějakej takovej plugin? CTRL+F je v tomhle případě k ničemu, trvalo by to týdny. Program by to jistě zvládl za několik málo vteřin, a pokud by se v tom někdo vyznal a dokázal to vyprodukovat za několik minut...

Avatar uživatele
Pokročilý

odpomass

Stále nevím, k čemu ti to bude, takže ti blíž nemohu poradit ;)

Avatar uživatele
Pokročilý

odpomass

Zkus ten Wget jak navrhoval RedC22, to by asi bylo řešení...

Avatar uživatele
Zlatý

bolak

Když já zas nevim co to je, a to bych musel nejspíš dlouze studovat ne? :) A mám jistotu že až to všechno nastuduju, tak že to opravdu půjde?

Pokud s tím někdo umíte dělat, tak mě prosím poraďte co a jak.

Avatar uživatele
Pokročilý

odpomass

Hochu, v životě se prostě musíš učit novým věcem. Zvlášť, pokud je chceš ovládat ;) A myslím, že tvůj účel tenhle software splní...

Avatar uživatele
Zlatý

bolak

Když já bych chtěl koláče bez práce..

Avatar uživatele
Pokročilý

RedC22

Bolak: odpomass a l564 hlavně předpokládají, že ty jseš provozovatel webu resp. tvůrce webu. Já nevim proč, ale já si myslím, že ty chceš takhle analyzovat web někoho jinýho. Je to tak?

Avatar uživatele
Zlatý

bolak

To "mám" je zřejmě matoucí. Nikoliv "mám" jako že vlastním, ale "mám" jako že "mám před sebou".

Avatar uživatele
Zlatý

bolak

Přesně tak, kdybych si uměl naprogramovat vlastní stránky, tak bych s tímhle nejspíš neměl problém :)

 

Přihlásit se

Položte otázku, odpovězte, zapojte se, …

začněte zde

Reklama

Kvalitní odpovědi v: Počítače a internet

Zlatý Bedy 1525
Zlatý Michal Kole 1198
Zlatý mosoj 1028
Zlatý Hlada 949
Zlatý ge0rge 894
Zlatý www 829
Zlatý led 820
Zlatý badisko 818
Zlatý gecco 795
Zlatý arygnoc 674

Zobrazit celkový žebříček

Facebook

 

Váš požadavek se vyřizuje, počkejte prosím.