W Linuksie jak mogę pobrać adres URL i pobrać jego zawartość w zmiennej w skrypcie powłoki?
115
Możesz użyć wget
polecenia, aby pobrać stronę i wczytać ją do zmiennej jako:
content=$(wget google.com -q -O -)
echo $content
Korzystamy z -O
opcji, wget
która pozwala nam określić nazwę pliku, do którego wget
zrzuca zawartość strony. Określamy, -
aby zrzut na standardowe wyjście i zbieraliśmy go do zmiennej content
. Możesz dodać -q
opcję cichą, aby wyłączyć wyjście wget.
Możesz użyć do tego polecenia curl, a także:
content=$(curl -L google.com)
echo $content
Musimy skorzystać z tej -L
opcji, ponieważ żądana przez nas strona mogła zostać przeniesiona. W takim przypadku musimy pobrać stronę z nowej lokalizacji. -L
Lub --location
opcja pomaga nam z tym.
src
atrybut odpowiedniego elementu, a następnie pobrać tę stronę. Jeśli zainstalujesz tq , to polecenie powinno to zrobić:curl -s http://ww1.watchop.io/manga2/read/one-piece/1/4 | tq -j -a src "#imgholder a img" | xargs wget
convert_links = on
z-O-
opcją. To kończy się błędem-k can be used together with -O only if outputting to a regular file.
. Czy jest to oczekiwane?Istnieje wiele sposobów na pobranie strony z wiersza poleceń ... ale zależy to również od tego, czy chcesz uzyskać źródło kodu, czy samą stronę:
Jeśli potrzebujesz źródła kodu:
z lokami:
z wget:
ale jeśli chcesz uzyskać to, co widzisz za pomocą przeglądarki, lynx może się przydać:
Myślę, że możesz znaleźć tak wiele rozwiązań tego małego problemu, może powinieneś przeczytać wszystkie strony podręcznika dla tych poleceń. I nie zapomnij zastąpić
$url
adresem URL :)Powodzenia :)
źródło
Jest
wget
polecenie lubcurl
.Możesz teraz użyć pliku pobranego za pomocą wget. Lub możesz obsłużyć strumień z zawijaniem.
Zasoby :
źródło
źródło
Jeśli masz zainstalowany LWP , udostępnia plik binarny o nazwie po prostu „ GET ”.
wget -O-
,curl
ilynx -source
zachowuj się podobnie.źródło
Możesz użyć
curl
lub,wget
aby pobrać surowe dane, lub możesz użyć,w3m -dump
aby uzyskać ładną tekstową reprezentację strony internetowej.źródło