2013-11-22 4 views
1

Я пытаюсь создать файл оболочки, который будет захватывать все изображения из топлиста wallbase.cc. Пока у меня это так, что он заворачивает html-код (using mac so no wget) и захватывает все ссылки на изображения. Единственная проблема, с которой я сталкиваюсь, заключается в том, что когда я grep для ссылок, он возвращает <a href=link> <target=blank>. То, что я пытаюсь сделать, это извлечь ссылку, чтобы я мог ее закрутить в файл. Я думал об использовании внешнего Java или C-файла для извлечения ссылок, но я полагаю, что есть чистый способ bash сделать это.Как извлечь ссылку из html-файла с помощью bash

Любая помощь будет отличной.

редактировать: мои команды до сих пор

Grep <a href="http://wallbase.cc/wallpaper/' wallbase.source

Это возвращает все ссылки, включая HTML код. мне просто нужно трубы это с некоторой команды для того, чтобы лишить HTML и оставить ссылки

+0

Добро пожаловать на переполнение стека! Могли бы вы опубликовать команды, которые вы пробовали до сих пор? – joews

+0

Ive пробовал использовать sed и awk и даже шаблоны регулярных выражений, но без успеха – QuinnFTW

+0

Люди смогут помочь вам лучше, если вы опубликуете фактические конкретные команды, которые вы пробовали. – joews

ответ

2

вы можете делать все, что с вашей родной Grep

Эта опция может быть просто то, что вы ищете grep's man page:

-E, --extended-regexp Интерпретировать PATTERN как расширенное регулярное выражение (ERE, см. Ниже). (-E задается POSIX.)

-o, --only-matching Распечатайте только согласованные (непустые) части соответствующей линии с каждой такой частью на отдельной выходной строке.

curl <URL> | grep -o -E "href=[\"'](.*)[\"'] " 

Регулярное выражение является чрезвычайно общим, но вы можете уточнить его к вашим потребностям

+0

Большое спасибо, это именно то, что я искал, и не нужно использовать сторонние скрипты. Благодарю. – QuinnFTW

0

Вы можете сделать это с помощью одной команды:

mech-dump --links http://domain.tld/path 

Эта команда поставляется с модулем PERL WWW::Mechanize

Смежные вопросы