Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.
Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Ken Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 2. snapshot Ubuntu 25.10 (Questing Quokka).
Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.
Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.
Řešení dotazu:
Na té desce je třeba odkaz na tuto stránku "https://infodeska.justice.cz/vyveseni.aspx?vyveseniid=8675925"; na ní je pdf-ko (https://infodeska.justice.cz/soubor.aspx?souborid=8834213) usnesení soudu, kde soud žádá, aby se mu přihlásili lidi co viděli Jiřího V., než ho prohlásí za mrtvého.
Mě se jedná o to, že chci na té desce soudu prohledat všechny (strojově čitelné) pdf soubory s usneseními, vyhláškami a pod., které v sobě obsahují zmínky o např. Jiřím V (v prvním pádě j.č.). Jde mi prostě o to vyhledávání, protože ručně proklikávat všechny pdf-ka je mimo mé schopnosti.
AI mi tvrdila, že by to šlo udělat tak, že se přes wget stáhnou všechny pdf soubory na desce a pak se prohledá obsah jednotlivých souborů, a ten který nebude mít požadovaný obsah se smaže. Jí vygenerovaný kód ale neudělal nic.
konkrétně to vyplivlo toto:
wget -r -l1 -nd -A pdf URL_STRÁNKY
-r
(recursive): Rekurzivní stahování.-l1
(level): Nastaví hloubku rekurze na 1 (prohledá pouze aktuální stránku).-nd
(no directories): Uloží všechny soubory do aktuálního adresáře (ne do žádných podadresářů).-A pdf
: Stáhne pouze soubory s příponou
Jí vygenerovaný kód ale neudělal nic.
wget myslimže na tudlectu stránku nepude nějak rozumě použít páč jsou tam přípony souborů skrytý a soubory jsou poskovávaný jako nějaký proměný 'souborid' strkaný do furt stejnýho nějakýho aspx windowsího skriptu kterej nám pak sype ty hotový pdfka. Nicmeně ty jednotlivý pdfka je možný pořád wgetem stáhnout když známe to souborid, jen ten wget budem muset jakože dost víst za ručičku :D ;D
nejdřiv si stáhnem tu stránku která nás zajimá, uděláme to tak že použijem přepínadlo '-k' by nám to nepřevedlo adresy odkazů do lokální podoby ale nechalo je to v tý takzvaný absoltuní, to nám zjednoduší další dělání:
wget -k -np https://infodeska.justice.cz/subjekt.aspx?subjkod=202090
v dalším kroku si z toho souboru vytáhnem pomocí hele grepu všecky validní url adresy který začinaj na 'https://infodeska.justice.cz/soubor.aspx' a strčíme si je do txťáku pro další použití:
cat subjekt.aspx?subjkod=202090 | grep -Eo "https://infodeska.justice.cz/soubor.aspx[a-zA-Z0-9./?=_-]*" > urls.txt
vyrobíme si podsložšku a do ní si pomocí wgetu postahujem všecky ty pdfka, to už muže chvilku trvat, v zavislosti na počtu a velikosti těch souborů a jak moc se ten justicovej web bude bránit :D
mkdir pdfka wget -i urls.txt -P ./pdfka
tak to bysme měli stažený ty pdfka, teďko bude asi eště potřeba ňák jakože prohledat ty soubory pro ty různý iča nebo mena, todle je pro mě terra incognita ale asi by šel použít hele pdfgrep :O ;D
jestli nemáme tak si ho v ubuntu mužeme nainstalovat asi pomocí vobligátního 'sudo apt install pdfgrep'
složku s těma pdfkama prohledáme pdfgrepem pro výskyt nějakýho ména třeba jozef:
pdfgrep Jozef ./pdfka/*
....a hele voni tam ňáký jozefové sou :O :D :O :D
./pdfka/soubor.aspx?souborid=8825981:Adresát : Jozef Kizek, 1994 ./pdfka/soubor.aspx?souborid=8825982: Adresát: Jozef Kizek, 1994 ./pdfka/soubor.aspx?souborid=8827322:Adresát Jozef Ollé, narozený 1991
takže jo, to by asi jako šlo použít :O ;D asi by to šlo eště vylepšit přesměrováním wgetu rovnou do grepu a to pak rovnou do toho druhýho grepu by se ušetřilo zbytečný zapisování na disk + další kejkle ale zatim asi jako dobrý :O ;D
supr :D ;D
jestli to chceš jako skript tak asi jako takle nějak
#!/usr/bin/env bash # první argument skriptu je stránka kterou budem prohledávat # druhej hledanej vyraz v těch pdfkách, třeba nějaký to méno prohledavanaStranka=$1 hledanejVyraz=$2 # vyrobíme si složšku kam postahujem ty pdfka mkdir -p PDFka # stáhnem si prohledávanou stránku a rovnou ji proženem grepem a # postahujem si všecky ty pdfka wget -q -np $prohledavanaStranka -O- | grep -Eo "soubor.aspx[a-zA-Z0-9./?=_-]*" | \ while read url do echo "stahuje se: $url" # musíme si připsat ten prefix ke každýmu souboru # (když strkáme vystup wgetu na standartní vystup tak # nejde použít přepinač -k ) wget -q -P ./PDFka "https://infodeska.justice.cz/$url" done echo "" echo "soubory jsou stažený" echo "" echo "budeme v nich hledat $hledanejVyraz :" echo "" # projdem složšku s pdfkama pro hledanej vyraz pdfgrep $hledanejVyraz ./PDFka/* # po skončení bysme asi jako mohli smazat ty pdfka ale předpokládám # že snima asi jakože budeš nějak dál dělat možná, tak to necham zakomentovaný rači :O ;D # rm ./PDFka/*
zapsat to třeba do souboru 'skript.sh', udělat to přikazem 'chmod +x skript.sh' spustitelný a pouštět třeba jako './skript.sh https://infodeska.justice.cz/subjekt.aspx?subjkod=123456 Jozef' :D ;D
baseURL = 'https://infodeska.justice.cz/'
URL = 'https://infodeska.justice.cz/subjekt.aspx?subjkod=202090'
import requests
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246"}
r = requests.get(URL)
from bs4 import BeautifulSoup
obsah = BeautifulSoup(r.content, 'html5lib')
import re
def najdi_soubory(href):
return href and re.compile('soubor.aspx').search(href)
k_prohledani = []
for odkaz in obsah.find_all(href=najdi_soubory):
k_prohledani.append(f'{baseURL}{odkaz['href']}')
from pdfquery import PDFQuery
from io import BytesIO
hledane = "Jmeno/ICO"
for soubor in k_prohledani:
f = requests.get(k_prohledani[0])
bytes_stream = BytesIO(f.content)
pdf = PDFQuery(bytes_stream)
pdf.load()
nalezeno = pdf.pq(f':contains({hledane})')
if nalezeno:
print(f'"{hledane}" nalezeno v souboru {soubor}')
netuším, jak to pustit
to jeho je skript v pythonu :O ;D
myslimže python je v ubuntu už předinstalovanej, budeš si iirc muset nainstalovat jenom pip
sudo apt install python3-pip
noa pak všecky potřebný knihovny, to znamená requests, BeautifulSoup a PDFQuery
pip3 install requests pdfquery beautifulsoup4
pak ten Nealův skript mužeš pustit třeba jako
python3 skript.py
Tiskni
Sdílej: