Получить заголовки страниц из списка URL-адресов - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть список URL, где мне нужно получить заголовки страниц, сохраненные в другом списке.Wget или Curl, кажется, правильный путь, но я не знаю точно, как.Вы можете помочь?Спасибо

1 Ответ

0 голосов
/ 25 апреля 2019

Вы имеете в виду что-то подобное?

wget_title_from_filelist.sh

#!/bin/bash
while read -r URL; do
    echo -n "$URL --> "
    wget -q -O - "$URL" | \
       tr "\n" " " | \
       sed 's|.*<title>\([^<]*\).*</head>.*|\1|;s|^\s*||;s|\s*$||'
    echo
done

filelist.txt

https://stackoverflow.com
https://cnn.com
https://reddit.com
https://archive.org

Использование

./wget_title_from_filelist.sh < filelist.txt

Вывод

https://stackoverflow.com --> Stack Overflow - Where Developers Learn, Share, &amp; Build Careers
https://cnn.com --> CNN International - Breaking News, US News, World News and Video
https://reddit.com --> reddit: the front page of the internet
https://archive.org --> Internet Archive: Digital Library of Free &amp; Borrowable Books, Movies, Music &amp; Wayback Machine

объяснение

tr "\n" " "     # remove \n, create one line of input for sed

sed 's|.*<title>\([^<]*\).*</head>.*|\1|;   # find <title> in <head>
s|^\s*||;                                   # remove leading spaces
s|\s*$||'                                   # remove trailing spaces
...