Portál AbcLinuxu, 14. května 2025 00:10
Ahoj,
řeším problém se získáním obrázku z HTML stránky na základě výsledku hledání.
Konkrétněji mám skript, který na základě proměnných vyhledá např. na google.com obrázek. Já pak přes curl stáhnu html s výsledky a potřebuji z něho dostat adresu obrázku, který je na prvním místě.
Celé se to snažím koncipovat jako bash skript, ale na tomhle bodě jsem zamrzl. Tuším že by mohl pomoct nástroj xmllint, ale nemůžu na to přijít.
Poradí mi prosím někdo?
xmllint
s pouzitim parametru --xpath
. Tedy napr. xmllint --xpath 'string(//cesta/k/obrazkum/img[1]/@src)'
1) grep na "img " - vybere všechny řádky kde je v html vložený obrázek 2) grep na "imgres" - bybere z nich ty, která má google jako vyhledané obrázky 3) head -1 - vybere z nich první řádek 4) sed - tady si musíš napsat regulární výraz pro vybrání toho, co je mezi uvozovkami v src="...." parametru html tagu img .. a máš svou adresu obrázku
perl -MHTML::TreeBuilder -E 'my $tree = HTML::TreeBuilder->new();$tree->parse_file(shift ); say $tree->look_down(q{_tag} => q{img})->attr(q{src}) ' /tmp/pok.htm
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.