Portál AbcLinuxu, 13. května 2025 21:47
Máme WWW server, běží už dlouho a nevíme, co všecko na něm je. V zásadě HTML stránky, ale taky PHP aplikace, různé věci od různých autorů z různých dob. Jsou toho tisíce souborů. Potřebujeme to nějak zmapovat. Představoval bych si něco jako jako robota, který by začal na jednom URL toho webu, šel by po odkazech a tak by našel množinu vystavených URL a jak se mezi sebou odkazujou. Kdyby byl chytřejší, mohl by třeba i hádat, které URL dohromady dávají jednu prezentaci a které URL je v té prezentaci počáteční. Úplně sám by to jistě nezvládnul, musela by to být interaktivní aplikace. Nevíte o nějakých nástrojích na tohle téma?
find / -iname '*.html' -or -iname '*.php' -or ...
najde všechny zajímavé soubory a jejich umístění. Navíc soubory pod jedním adresářem budou velmi pravděpodobně patřit do jedné prezentace.
Současně ale potřebuju získat představu o tom, jak se soubory volají mezi sebou a zejména které nejsou volány vůbec a lze je tedy zrušit. U PHP souborů může tag <A> být generován, takže nějakým grepováním ho nenajdu. Prohledávat HTML soubory poskytované webserverem po síti bude taky trochu práce, ale aspoň víme, že je to HTML. Některé stránky jsou přístupné jenom z intranetu a některé odevšad, takže spuštěním prohledávače z různých míst internetu dostaneme různé mapy webu. Takže proto tak složitě.
Představoval bych si něco jako jako robota, který by začal na jednom URL toho webu, šel by po odkazech a tak by našel množinu vystavených URL a jak se mezi sebou odkazujou.Tohle zvládne i
wget
, na to nepotřebujete žádného specializovaného robota.
Pythonský program, který bude volat wget, prohlídne si co dostal, zatřídí si to do asociaticního pole a jde na další. Ano to je jasný. Jenom že nějak tiše doufám, že už je to vyřešeno i s vyzkoušenými heuristikami na shlukování "souborů" do "prezentací", s vykoumaným zobrazením výsledků a tak podobně.
wget
, bez Pythonu. Podívejte se na parametry --recursive, --level, --mirror, --accpet, --reject, --domains, --exclude-domains, --span-hosts, --include-directories, --exclude-directories, --no-parent, --page-requisites
.
wget mi to stáhne, ale kdo to za mě přečte?
Jsme akademická instituce, nic na kšeft. Tenhle web tady běží od roku 95, různí lidé na něj něco přidávali, prostě dostali prostor a do něj dali, co si napsali v nějakém editoru. Server zakládali vědci, byl koncipován velmi promyšleně, proto tak dlouho vydržel. Ale teď už je obsah neudržovatelný. Tím není řečeno, že se má zahodit - stránky je nutné zkonvertovat do vhodného nového systému. Analýza obsahu je IMHO nutná.
Ten Metis vypadá zajímavě. Dík, zkusím to. Poslední verze je z roku 03. Asi řešíme teď problém, který byl hromadný na přelomu století.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.