Я пытаюсь вернуть название песни и исполнителя с веб-страницы, используя скрипт bash.
После просмотра некоторых сообщений SO я собрал:
#!/bin/sh
metadata=$(curl -s marci277.marci.io |
grep -oP '(?<=<p class="title"> ).*?(?= </div>)')
echo $metadata
Однако, этопросто возвращая пустую пустую строку.
Вот соответствующий код с веб-страницы в данный момент:
<div class="clearfix" id="block1" style="display:block;min-height:114px;width:100%;background:#ffff00;border-top:0px solid #000;border-bottom:0px solid #000;">
<div id="letterbox1" class="letterboxThumbnail base" data-artist="Tom Robinson" data-title="Listen To The Radio" data-album="" data-thumbBGColor="ffffff" >
<img src="img/artists/cache/mThumb_Tom Robinson.jpg" alt="Tom Robinson" width="104" height="104" style="border:1px solid #ffffff;" class="thumbnail" />
</div>
<p class="time">6:22 am CST</p>
<p class="title">Listen To The Radio</p>
<p class="artist">Tom Robinson</p>
</div>
<p class="verticalSpacer"></p>
Мне пригодятся только 3-й и 2-й и последний классы.
Я также где-то читал, что этот метод grep может не работать для не-div (в данном случае это тег ap).Если это так, как я могу проанализировать эти теги для их атрибутов?