2

Я хотел бы предвосхитить это, сказав, что я очень новичок в командной строке, и я использую его только для некоторых WGET и YOUTUBE-DL, и что я на ПК с Windows 8.

Я хотел бы получить кучу ссылок из HTML-файла. Все ссылки начинаются с

https://s-media-cache-ak0.pinimg.com/originals/

и заканчивается

.jpg

Прямо сейчас я использую это:

findstr ^https://s-media-cache-ak0.pinimg.com/originals/.*\.jpg index.html > urls.txt

Я провел некоторое исследование, и я использую функцию "диапазон" FINDSTR, как вы можете видеть. Но я все еще получаю много лишнего текста, который меня не интересует. Есть ли способ урезать его?

1 ответ1

2

Как говорится в этом ответе StackOverflow , вы действительно не должны пытаться анализировать [X] HTML с помощью регулярных выражений. В любом случае findstr имеет очень ограниченную поддержку регулярных выражений.

Вместо этого используйте правильный HTML-скребок / парсер, такой как Xidel . Команда, подобная следующей, сделает то, что вы ищете:

xidel <URL or HTML file name> -q -e "//a/extract(@href/resolve-uri(.), 'https:\/\/s-media-cache-ak0\.pinimg\.com\/originals\/.*?\.jpg')[. != '']"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .