LINUX.ORG.RU

Как вытащить список ссылок из html файлов?

 


0

1

Положим есть файл xxx.html. В нем присутствуют ссылки на ресурс example.com типа "https://example.com/article1.xml". Как мне башем вытащить оттуда список этих ссылок? Ссылка может быть в любом теге или свойстве.

Пробовал sed, но он вытаскивать либо жадно либо всю встроку:

sed 's/^.*href="\([^"]*\).*$/\1/'

★★★★★

Последнее исправление: PPP328 (всего исправлений: 1)

Ответ на: комментарий от conformist

Сделал на grep:

grep -Eo 'href="[^"]*' | cut -d\" -f2-

А зачем bash, если это просто сделать на python + lxm

Действительно, зачем писать встроенную в шелл команду в одну строку если можно писать тонны кода на пистоне?

PPP328 ★★★★★
() автор топика
Ответ на: комментарий от PPP328

можно писать тонны кода на пистоне

from bs4 import BeautifulSoup
with open('../lor.html', 'r') as f:
    soup = BeautifulSoup(f.read(), 'lxml')
    print(*[link.get('href') for link in soup.findAll('a')])

ну и не тонны.

conformist ★★★
()
Последнее исправление: conformist (всего исправлений: 1)

sed -n '/href="[^"]+"/ { s/^.*href="\([^"]*\)".*$/\1/; p}' ?

evilface ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.